У меня есть файл Excel, добавленный на диск. Я хочу получить от него данные, поэтому сначала я добавил разрешение (Files.ReadWrite) в соответствии с документацией к своему приложению на портале azure.
Сначала я получаю токен доступа по этому URL : https://login.microsoftonline.com/common/oauth2/v2.0/token
Я получаю токен, который затем использую для выполнения запроса GET с URL: https://graph.microsoft.com/v1.0/me/drive/items/{drive-item-id}/workbook/worksheets/XX/range(address='A4:C4)
https://graph.microsoft.com/v1.0/me/drive/items/{drive-item-id}/workbook/worksheets/XX/range(address='A4:C4)
Я устанавливаю заголовки токена в соответствии с документация курса
'headers' => [ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $this->token ]
И в ответ я получаю:
Сообщение: ошибка клиента: GET https://graph.microsoft.com/v1.0/me ... привело к 400 Плохой ответ на запрос: {"error": {"code": "BadRequest", "message": "Текущий аутентифицированный контекст недопустим для этого запроса. (Усечено ...)"
Как я должен авторизовать / получить токен, чтобы он работал?
С уважением
Вы не можете использовать /me с учетными данными клиента (т. Е. Областями приложения), потому что нет «я». Вам необходимо указать /users/{userId | userPrincipalName}.
/me
/users/{userId | userPrincipalName}