Создать блокнот класса не удастся, если группа содержит отключенных пользователей, даже если разделы учителя и ученика вызова создания пуст - PullRequest
1 голос
/ 30 октября 2019

Вот сценарий для воспроизведения ошибки:

  • Возьмите арендатора Microsoft Education (достаточно демонстрационного арендатора)
  • Создайте нового пользователя с действующей лицензией Office 365 и местоположением использования
  • Отключить учетную запись (установить вход в систему) в True на портале Azure
  • Создать группу и добавить этого пользователя в качестве члена

Это минимальный сценарий, который мынужно. Также возможно наличие других (включенных) пользователей в группе, но это не меняет поведение. Теперь давайте следуем документации для создания блокнота:

POST https://www.onenote.com/api/v1.0/myOrganization/groups/{groupId}/notes/classNotebooks/?omkt=de-de
{
    "name": "Class notebook of my group",
    "teachers": [],
    "students": [],
    "studentSections": [],
    "hasTeacherOnlySectionGroup": true
}

Итак, в объединенной группе есть только один участник с отключенной учетной записью, но этот конкретный пользователь НЕ добавлен в учителейили раздел студентов запроса на создание. Тем не менее появляется следующее сообщение об ошибке:

System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (NotFound).
{
  "error": {
    "code": "30109",
    "message": "The following users are invalid: Message: Der angegebene Benutzer disabled.user@mydomain.com wurde nicht gefunden., ServerErrorCode: -2146232832, ServerErrorTypeName: Microsoft.SharePoint.SPException",
    "@api.url": "https://aka.ms/onenote-errors#C30109"
  }
}

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

После получения разъяснений от Марка наша текущая процедура выглядит следующим образом:

  • Получить список всех отключенных пользователей.
  • Включить всех из них.
  • Подождите одну минуту (потому что для распространения этой информации потребуется некоторое время).
  • Создайте записную книжку курса с помощью API OneNote.
  • Отключите всех пользователей из первоначального списка снова.

С этим все работает как положено.

0 голосов
/ 31 октября 2019

Сообщение об ошибке не ясно, но Teachers сопоставляет Owners и Students сопоставляет с Members. Таким образом, даже если вы не указали этого пользователя в коллекции students, он является членом группы и поэтому считается частью коллекции students.

При возникновении ошибки 30109, подобной этой, единственным обходным решением является либо итерация по Владельцам и Участникам и удаление любых отключенных учетных записей, либо анализ свойства message для UPN (disabled.user@mydomain.com). Это менее чем идеально, я знаю.

...