Добавление / удаление пользователя в частную группу O365 с помощью SPFx

Невозможно добавить / удалить участников в закрытую группу O365 с разрешениями Group.ReadWrite.All и User.Read.All с помощью MSGraphClient в веб-части SharePoint Framework (SPFx).

Я утвердил разрешения на странице доступа к SharePoint Admin API, чтобы мой участник веб-приложения расширяемости клиента SharePoint Online получил необходимые делегированные разрешения. Даже пробовал с разрешениями GroupMember.ReadWrite.All и Directory.ReadWrite.All.

POST https://graph.microsoft.com/v1.0/groups/{groupid}/members/$ref
{
    "@odata.id": "https://graph.microsoft.com/v1.0/users/{userid}"
}

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

{
    "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{userid}"
}

Ниже приводится текст ошибки:

Uncaught (in promise) Error: Error making HttpClient request in queryable [403] Forbidden ::> {
  "error": {
    "code": "Authorization_RequestDenied",
    "message": "Insufficient privileges to complete the operation.",
    "innerError": {
      "date": "2020-09-09T20:18:44",
      "request-id": "ea951e6c-ae43-4907-8c86-e6f6c8346462"
    }
  }
}

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

Вот скриншоты со страниц управления API и приложений Azure AD  введите описание изображения здесь  введите описание изображения здесь


person jyothsna    schedule 10.09.2020    source источник
comment
Похоже, разрешения не вступили в силу. Можете ли вы предоставить снимок экрана с делегированными разрешениями, настроенными в приложении Azure AD?   -  person Allen Wu    schedule 10.09.2020
comment
Обновил пост со скриншотами   -  person jyothsna    schedule 11.09.2020
comment
Разберите токен доступа в jwt.io, чтобы проверить, включает ли он необходимые разрешения.   -  person Allen Wu    schedule 14.09.2020
comment
Да, это показывает необходимое разрешение   -  person jyothsna    schedule 15.09.2020
comment
Если какой-либо из ответов полезен для вас, вы можете принять его как ответ (щелкните галочку рядом с ответом, чтобы переключить его с серого на заполненный). См. meta.stackexchange.com/questions / 5234 /. Это может быть полезно для других членов сообщества. Спасибо.   -  person Allen Wu    schedule 17.09.2020


Ответы (3)


Это задумано. Несмотря на то, что приложение Azure AD имеет необходимые делегированные разрешения, если пользователь не является администратором или владельцем частной группы, ему не будет разрешено добавлять в нее участников.

То же поведение и на портале O365.

Когда обычный пользователь пытается добавить участников в частную группу, отображается сообщение «Вы можете добавлять участников только в те группы, к которым у вас есть доступ». и не могут добавить участников.

Если вы назначите пользователю роль администратора (администратор пользователя или администратор группы), он сможет успешно добавлять участников. И если вы добавите пользователя (без роли администратора) в качестве владельца группы, он также сможет добавлять участников.

person Allen Wu    schedule 15.09.2020


Проверьте, было ли предоставлено разрешение вашему spfx в админ-центре. введите описание изображения здесь

person Amos    schedule 11.09.2020
comment
Да, мы утвердили разрешения на указанном экране (Центр администрирования SharePoint - страница управления API) - person jyothsna; 11.09.2020
comment
Странно, такая же проблема в графическом проводнике. - person Amos; 14.09.2020
comment
Да, мы видели ту же проблему в Graph Explorer - person jyothsna; 15.09.2020