У меня есть права администратора в организации Google Workspace, и я хочу пригласить внешнего пользователя (@gmail.com) в качестве учащегося на уроке в Классе, используя Classroom API
внутри скрипта Google Apps.
В настоящее время я использую этот код, чтобы пригласить любого пользователя:
Classroom.Invitations.create({
"userId": email,
"courseId": courseId,
"role": "STUDENT"
});
Это работает нормально, если электронная почта принадлежит домену моей организации, но если я попробую тот же код с учетной записью @gmail.com, скрипт вернет:
GoogleJsonResponseException: вызов API class.invitations.create завершился с ошибкой: у вызывающего абонента нет разрешения
Я могу добавить его вручную в Google Classroom, но через Apps Script это не работает. Возможно, стоит упомянуть, что учетная запись владельца Класса — это не моя учетная запись, а другая в моем домене, а сценарий, который я использую, находится на общем диске.
РЕШЕНО (спасибо Saddles): Чтобы это работало, учетная запись администратора, пытающаяся пригласить студентов, должна быть зарегистрирована в качестве преподавателя на курсе.
Можете ли вы подтвердить admin permissions in an Google Workspace organization
учетную запись, которую вы сейчас используете? Насколько я знаю, Super Admin
или verified teacher added as a co-teacher
должны иметь возможность добавлять потребительскую учетную запись Google в Google Classroom.
Это предполагает, что для параметра Who can join classes in your domain?
консоли администратора установлено значение Any user
из-за утверждения I do can add it manually inside Google Classroom, but it doesn't work via Apps Script.
. Вы можете перепроверить это, прочитав статью справочного центра в ветке комментария @James.
Да, я подтверждаю, что вопрос «Кто может присоединяться к занятиям в вашем домене?» для параметра установлено значение «Любой пользователь», а я — «Суперадминистратор».
Понял. Ошибка только предполагает, что причиной этого является проблема с разрешением. Можете ли вы попробовать добавить этого пользователя в список учителей Google Classroom и посмотреть, что произойдет? Вы также можете Просматривать страницы в режиме инкогнито, поскольку бывают случаи, когда учетные записи переключаются после перехода на другую страницу, что приводит к подобным проблемам.
Хорошо, я попробовал добавить учетную запись суперадминистратора в качестве учителя, и это волшебным образом сработало! Понятия не имею, почему учитель должен добавлять внешних студентов, а не внутренних студентов. В любом случае, спасибо за вашу помощь!
Позвольте мне перефразировать мои комментарии, чтобы они стали ответом на этот вопрос, поскольку вы об этом упомянули it magically worked
. Таким образом, другие участники сообщества, которые наткнутся на этот пост, смогут узнать эту информацию. Не стесняйтесь принять ответ и проголосовать за него.
После некоторого тестирования в учетной записи Google Workspace, чтобы добавить пользователя @gmail.com
в класс с помощью скрипта Google Apps, убедитесь, что для параметра Who can join classes in your domain?
в консоли администратора установлено значение Any user
.
Затем добавьте Super Admin
в качестве co-teacher
в Google Classroom, так как в противном случае появится ошибка GoogleJsonResponseException: API call to classroom.invitations.create failed with error: The caller does not have permission
.