Microsoft graph people \ me вернуть пустой список пользователей - PullRequest
0 голосов
/ 16 мая 2019

Я создал учетную запись в пробной версии Office 365. Я добавил регистрацию нового приложения в Azure с разрешениями:

BookingsAppointment.ReadWrite.All 
Calendars.ReadWrite
Contacts.ReadWrite 
EWS.AccessAsUser.All
Mail.ReadWrite 
Mail.Send 
People.Read 
User.Read 
User.ReadBasic.All

И когда я звоню https://graph.microsoft.com/v1.0/me/people, пользователь, создавший офисную учетную запись, получает полный список пользователей и ресурсов.

Когда я звоню как созданный пользователь с правами администратора, я получаю пустой список. Я вызываю ссылку разрешения для пользователя-администратора и для созданного пользователя-администратора:

https://login.microsoftonline.com/{}/oauth2/v2.0/authorize?client_id={}&response_type=code&scope=BookingsAppointment.ReadWrite.All%20Calendars.ReadWrite%20Contacts.ReadWrite%20EWS.AccessAsUser.All%20Mail.ReadWrite%20Mail.Send%20People.Read%20People.Read%20User.Read%20User.ReadBasic.All

Что не так?

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('fb6b188c-8698-4a03-9da4-82b7479c4625')/people",
    "value": []
}

1 Ответ

0 голосов
/ 17 мая 2019

Чтобы пользователь (в нашем случае назовем его администратором) для доступа к папке контактов других пользователей с помощью гранта делегата потребовал бы Contacts.Read.Shared или Contacts.ReadWrite.Shared, см. https://docs.microsoft.com/en-us/graph/outlook-get-shared-contacts-folders.

Другое дело, что права администратора не имеют никакого значения для доступа к почтовому ящику, например, делегировать доступ к почтовым ящикам необходимо специально, либо через Add-MailboxPermission https://docs.microsoft.com/en-us/exchange/recipients/mailbox-permissions?view=exchserver-2019, либо делегировать через Outlook. (Например, если вы можете получить доступ к целевому почтовому ящику через OWA или Outlook, ваши права Exchange хороши, но просто быть администратором-арендатором означает доступ к почтовому ящику). Другой вариант, если вы пытаетесь создать приложение, которое получит доступ ко всем почтовым ящикам в клиенте, взгляните только на токены приложения https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-daemon-app-registration

...