Я создаю почтовый клиент, пытаюсь выполнить поиск по конечной точке пользователей Graph API, аналогично тому, что было возможно в веб-службах Exchange через SOAP.
В EWS с ResolveNames сервер возвращает подробности(т. е. должность, должность, телефон и т. д.) только из области организации аутентифицированного пользователя, аналогичной поиску в адресной книге из почтового клиента (т. е. OWA).
Использование Graph API (основанного на том, что янашел рекомендуемый API для почтовых приложений следующего поколения O365) данные пользователя возвращают null
:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"businessPhones": [],
"displayName": "John Smith",
"givenName": "John",
"jobTitle": null,
"mail": "john@contoso.com",
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": "Smith",
"userPrincipalName": "john@contoso.com",
"id": "xxxx"
}
Я запросил следующие области: User.Read, User.ReadBasic.All, Calendars.Read, Calendars.ReadWrite, Calendars.Read.Shared, Calendars.ReadWrite.Shared, Contacts.Read, Contacts.Read.Shared, People.Read
Я попытался несколькозвонки, но простой запрос для пользователей организации демонстрирует проблему:
https://graph.microsoft.com/v1.0/users
Исходя из документации, похоже, что эта информация видна только при предоставлении Directory.AccessAsUser.All
-Область действия уровня администратора, которая запрещена \ нецелесообразна для приложений общего пользования.
Есть ли способ выполнить простое обращение?s поиск книг с ограниченными данными пользователя с использованием Graph API без согласия администратора?Если нет, есть ли другой API или метод, который я могу использовать?Или, планирует ли Microsoft расширить конечную точку «Пользователи», чтобы включить эту основную информацию?
Если пользователь прошел проверку подлинности, представляется целесообразным разрешить поиск в адресной книге \ GAL \ user.