Как создать токен аутентификации с новым графиком microsoft api?

Я использовал это:

https://github.com/Azure-Samples/active-directory-php-graphapi-web.git 

для доступа к графику api, который работает. Мое приложение, зарегистрированное в Azure AD, может запросить API для получения списка пользователей в каталоге.

Но теперь я хочу перечислить папки для пользователя в каталоге. Эта страница

 http://graph.microsoft.io/docs 

говорит, что URL должен быть:

 https://graph.microsoft.com/v1.0/me/drive/root/children 

Когда я использую этот URL-адрес в своем вызове REST, я получаю

 "code": "InvalidAuthenticationToken", "message": "CompactToken parsing failed with error code: -2147184105" 

Имеет смысл, он получает знак от

 https://graph.windows.net 

Итак, я потерян. Существует так много разных версий API, начиная с потребительского класса onedrive (ранее skydrive), первого графика api (который я получаю через https://graph.windows.net ), API Office 365 (который я получаю через https: //login.microsoftonline.com ), и теперь график api (ранее универсальный api https://graph.microsoft.com ) Я просто не знаю, с чего начать искать правильную информацию.

Я работаю в PHP на данный момент, и я уверен, что это будет довольно низким в списке поддерживаемых платформ Microsoft, но любое направление о том, как работает генерация токена доступа в новейшей api по сравнению с o365 api по сравнению с другим графиком api (at graph.windows.net).

Является ли кто-то еще таким же запутанным, как я? Есть ли какая-то центральная ссылка, которая объясняет все различия между этими apis и как их получить?

Microsoft Graph должен предоставить вам одну конечную точку (и получение токенов) для доступа к данным, предлагаемым службами Office 365 и Azure AD. Дополнительную информацию см. На странице https://graph.microsoft.com, но, пожалуйста, используйте версию v1.0, так как это версия GA, подходящая для производственных услуг.

Что касается вашего вопроса о сервисном приложении без пользовательского интерфейса – вы можете получить токен доступа только для приложений, используя поток client_credential. (Это не документировано в документации Microsoft Graph, но оно поддерживается и описано в другом месте – просто установите ресурс https://graph.microsoft.com/ ). На портале управления Azure вам нужно будет выбрать «Разрешения для приложений», которые требуется вашему приложению. В настоящее время поддерживается доступ к почтовым ресурсам только для приложений, но приложение не поддерживает только один доступ к одному ресурсу диска (через график Microsoft). Скоро мы откроем это.

Надеюсь это поможет,

Конечной точкой https://login.microsoftonline.com является конечная точка авторизации Azure AD, которая предоставляет страницу единого входа для входа в систему и аутентификации и получения кода авторизации.

Другие, такие как https://graph.microsoft.com являются конечной точкой ресурса, которая построена на API REST и предоставляет ресурсы и услуги от Microsoft.

В частности, для конечной точки https://graph.windows.net , объяснение на официальном сайте:

API-интерфейс Azure Active Directory Graph обеспечивает программный доступ к Azure Active Directory через конечные точки API REST. Приложения могут использовать API-интерфейс Azure AD Graph для выполнения операций создания, чтения, обновления и удаления (CRUD) данных каталога и объектов каталога, таких как пользователи, группы и организационные контакты. https://graph.mircosoft.com – это унифицированный API, который также включает в себя API от других служб Microsoft, таких как Outlook, OneDrive, OneNote, Planner и Office Graph, которые доступны через единую конечную точку с одним токеном доступа.

Обратитесь к AD Graph REST за дополнительной информацией.

Чтобы интегрировать офис 365 через Azure AD, вам необходимо проверить, есть ли у вас офис-арендатор 365, а ваш администратор-пользователь офиса 365 имеет разрешение на доступ к Azure AD. Вы можете обратиться к Deep Dive в унифицированный API Office 365 для пошагового руководства по интеграции унифицированного API Office 365.

Кроме того, вы можете обратиться к разделу «Начало работы с API-интерфейсами Office 365» на базе Microsoft Graph для создания примера PHP.