Я могу успешно создать группу с помощью разрешений приложения, и вот мои подробные шаги:
1 : войдите в aad portal (http://aad.portal.azure.com) с помощью глобального администратора и создайте приложение "web / web api" вazure ad https://aad.portal.azure.com/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
2: «Настройки» >> «Необходимые разрешения» Блейд: добавьте «Microsoft» Graph и выберите ниже разрешения (разрешение приложения не делегировано):
«Пользователь.ReadWrite.All "," Group.Read.All "," Directory.ReadWrite.All "," Group.ReadWrite.All "," Directory.Read.All "," User.Read.All "
3: Нажмите «Предоставить разрешение»
4: добавьте ключи и скопируйте ключ
5: скопируйте «идентификатор приложения»
6: скопируйте «идентификатор каталога»(ваш идентификатор клиента объявления Azure) https://aad.portal.azure.com/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Properties
7: эмулируйте https и получите токен доступа
URL: https://login.microsoftonline.com/{{your идентификатор клиента объявления Azure}} / oauth2 / token?api-версия = 1.0
Метод: POST
Заголовки: Content-Type: application / x-www-form-urlencoded Cache-Control: no-cache
Тело :grant_type = клиент_credentials & resource = https://graph.windows.net&client_id={{your идентификатор приложения}} & client_secret = {{ключ вашего приложения}}
Ответ: {"token_type": «Bearer», «expires_in»: «3600», «ext_expires_in»:"3600", "expires_on": "1557128389", "not_before": "1557124489", "resource": "https://graph.microsoft.com"," access_token ":" {{это токен доступа}} "}
вы можете проанализировать токен доступа к https://jwt.io/, чтобы убедиться, что эти разрешения существуют «роли»: [«User.ReadWrite.All», «Group.Read.All», «Directory.ReadWrite.All»,«Group.ReadWrite.All», «Directory.Read.All», «User.Read.All»],
8: создать группу с помощью разрешений приложения
URL: https://graph.microsoft.com/v1.0/groups
Метод: POST
Заголовки: Авторизация: Носитель {{ваш токен доступа, обратите внимание, что после Носителя есть место}} Cache-Control: no-cache Content-Type : application / json
Body: {"description": "Muti-Geo Graph API7", "displayName": "Команды Multi-Geo Graph API7", "groupTypes": ["Unified"], "mailEnabled": true, "mailNickname ":" TeamsMultiGeoGraphAPI7 ","securityEnabled": false, "owners@odata.bind": [[* https://graph.microsoft.com/v1.0/users/{{the идентификатор пользователя}} "]," prefediLocation ":" CAN "}
Ответ: 201 Создано