лазурь — Office 365 API в стек переполнения

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

Я строю URL запроса, используя curl, и отправляю этот заголовок вместе с моим запросом.

array(6) {
[0]=>
string(28) "User-Agent: php-tutorial/1.0"[1]=>
string(588) "Authorization: Bearer ~ACCESS_TOKEN~"[2]=>
string(24) "Accept: application/json"[3]=>
string(55) "client-request-id: ~GUID~"[4]=>
string(30) "return-client-request-id: true"[5]=>
string(45) "X-AnchorMailbox: ~MAIL~"}

И все, что я получаю в ответ: «»

Что я делаю неправильно?

ОБНОВИТЬ

После входа в систему Microsoft не спрашивает, хочу ли я предоставить доступ к приложению, но предоставляет мне токен доступа. Может ли это быть проблемой? И как я могу попросить разрешения?

ОБНОВЛЕНИЕ 2

После входа в систему и получения информации я получаю сообщение об ошибке 401: доступ запрещен. Что странно, я думаю, потому что он уже предоставил мне токен доступа.

ОБНОВЛЕНИЕ 3

Пара дней спустя, и я попробовал некоторые примеры и учебный код, чтобы проверить, работает ли он. Но даже в этих приложениях API, кажется, не работает.
Это проекты, которые я пробовал.

https://github.com/microsoftgraph/php-connect-rest-sample

https://dev.outlook.com/restapi/tutorial/php

9

Решение

По списку ошибок на https://graph.microsoft.io/en-us/docs/overview/errors, когда вы получаете ошибку 401, это означает,

Требуемая информация об аутентификации либо отсутствует, либо недействительна для ресурса.

Возможно, ваш токен доступа не содержит область для ресурса, запрашиваемого вашим приложением. Например.

Если вы хотите перечислить ресурс просмотр календаря, и в соответствии с документом на https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_list_calendarview:

Для выполнения этого API требуется одна из следующих областей: Calendars.Read; Calendars.ReadWrite

Пожалуйста, войдите на портал своего приложения Azure AD, проверьте разрешения Have full access to user calendars или же Read user calendars из Microsoft Graph были ли отмечены.

И вы можете проверить раздел «область действия» тела ответа со своим токеном доступа, обратитесь к https://azure.microsoft.com/en-us/documentation/articles/active-directory-protocols-oauth-code/#use-the-authorization-code-to-request-an-access-token для получения дополнительной информации.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]