использование «маски обновления» для изменения идентификатора владельца в классе google

Я пытаюсь использовать API класса Google, чтобы изменить владельца класса с одного ownerId на другого в моей организации. Каков код для поля update Mask, чтобы изменить только ownerId и ничего больше?


person Mr. Physics    schedule 04.03.2020    source источник


Ответы (2)


Чтобы достичь своей цели. Вы должны использовать Метод: курсы .patch конечная точка. Вы даже можете попрактиковаться, используя Попробуйте этот API.

введите здесь описание изображения

  • id относится к идентификатору курса.

  • updateMask относится к атрибуту, который вы хотите изменить.

  • Request body относится к данным, которые вы собираетесь передать, чтобы изменить их. Бывший:

{
  "ownerId": "email@domain"
}

Затем нажмите ВЫПОЛНИТЬ и войдите в свою учетную запись, чтобы иметь возможность взаимодействовать с API.

Уведомление

  • Для перечисления ваших курсов и получения их идентификаторов. Вы можете использовать метод:courses.list конечная точка.

  • Вы можете передать право владения курсом только в том случае, если другой пользователь является соучителем.

РЕДАКТИРОВАТЬ

ошибка: { код: 400, сообщение: @UserInIllegalDomain Приглашение не может быть создано для пользователя в этом домене, статус: FAILED_PRECONDITION

Извините, ошибка, возникающая у вас после удаления пользователя в вашей организации, который был владельцем курса, а затем попытался изменить право собственности на кого-то другого, это хорошо известная ошибка, как вы можете видеть на этих двух страницах:

person alberto vielma    schedule 05.03.2020
comment
Большое вам спасибо за это ... Это действительно помогло, к сожалению, я выполнил рекомендованный код, и он вернул следующую ошибку: ошибка: { код: 400, сообщение: @UserInIllegalDomain Приглашение не может быть создано для пользователя в этом домене, статус: FAILED_PRECONDITION Проблема, с которой я постоянно сталкиваюсь, заключается в том, что текущий идентификатор владельца принадлежит учителю, которого больше нет в нашем домене... Они покинули школу, и их учетная запись больше не существует. Знаете ли вы, есть ли что-нибудь еще, что я могу сделать, чтобы передать право собственности на этот класс преподавателю или удалить класс? - person Mr. Physics; 05.03.2020

Если первоначальная учетная запись учителя больше не активна, так как она была удалена из домена, изменить владельца невозможно. Единственный способ изменить владельца класса — войти в систему как первоначальный учитель и сменить владельца в пользовательском интерфейсе Google Class. Следуйте этой документации: https://support.google.com/edu/classroom/answer/7449476?hl=en

Из API вы можете сделать это, вызвав API с оригинальным токеном учителя. Но если первоначальный учитель больше не активен, то этот токен также перестанет работать. В Google зарегистрирована ошибка по аналогичной проблеме (не точно такой же), когда первоначальный учитель удаляется из домена: https://issuetracker.google.com/issues/146050145

В то же время обходной путь для этого сценария — попросить администратора школьного домена обновить исходную учетную запись учителя из области управления пользователями консоли администратора Google класса. Затем выдайте себя за этого пользователя, войдя в систему с учетной записью и временным паролем, и выполните шаги в соответствии с документацией, чтобы сменить владельца на нового учителя. Чтобы найти обходной путь, обратитесь к этому комментарию системы отслеживания проблем Google для соответствующей ошибки: https://issuetracker.google.com/issues/146050145#comment2

person datastax    schedule 09.03.2020
comment
Спасибо за это. Можно ли омолодить пользователя после его удаления более 20 дней? В качестве альтернативы, класс больше не требуется, я читал в Интернете, что вы можете удалить осиротевший класс, но это тоже не работает... - person Mr. Physics; 10.03.2020