Как добавить учащегося (@gmail.com) в класс Classroom, созданный внутри моей организации с помощью Apps Script?

У меня есть права администратора в организации 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): Чтобы это работало, учетная запись администратора, пытающаяся пригласить студентов, должна быть зарегистрирована в качестве преподавателя на курсе.

возможно связано
James 02.09.2024 16:11

Можете ли вы подтвердить admin permissions in an Google Workspace organization учетную запись, которую вы сейчас используете? Насколько я знаю, Super Admin или verified teacher added as a co-teacher должны иметь возможность добавлять потребительскую учетную запись Google в Google Classroom.

Saddles 02.09.2024 20:26

Это предполагает, что для параметра 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.

Saddles 02.09.2024 20:26

Да, я подтверждаю, что вопрос «Кто может присоединяться к занятиям в вашем домене?» для параметра установлено значение «Любой пользователь», а я — «Суперадминистратор».

Pion Developer 02.09.2024 23:13

Понял. Ошибка только предполагает, что причиной этого является проблема с разрешением. Можете ли вы попробовать добавить этого пользователя в список учителей Google Classroom и посмотреть, что произойдет? Вы также можете Просматривать страницы в режиме инкогнито, поскольку бывают случаи, когда учетные записи переключаются после перехода на другую страницу, что приводит к подобным проблемам.

Saddles 03.09.2024 01:31

Хорошо, я попробовал добавить учетную запись суперадминистратора в качестве учителя, и это волшебным образом сработало! Понятия не имею, почему учитель должен добавлять внешних студентов, а не внутренних студентов. В любом случае, спасибо за вашу помощь!

Pion Developer 04.09.2024 19:50

Позвольте мне перефразировать мои комментарии, чтобы они стали ответом на этот вопрос, поскольку вы об этом упомянули it magically worked. Таким образом, другие участники сообщества, которые наткнутся на этот пост, смогут узнать эту информацию. Не стесняйтесь принять ответ и проголосовать за него.

Saddles 04.09.2024 20:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После некоторого тестирования в учетной записи 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.

ССЫЛКА

Другие вопросы по теме