MS Graph API: неверный токен аутентификации
Я пытаюсь использовать Microsoft Graph API для запроса сообщений в почтовом ящике Outlook / O365. язарегистрировал мое приложение на портале Azure и получил необходимую информацию для запроса API. Приложение имеетMail.Read
разрешение. (У меня нет доступа к порталу Azure, мне сказали, что он настроен таким образом.) Однако, когда я получаю свой токен от конечной точки OAuth, он не работает ни при каких последующих вызовах. Я использую модуль запросов Python для тестирования прямо сейчас.
Почему этот звонок не работает? Кажется, что я передаю всю правильную информацию, но я явно что-то упускаю.
Я получаю токен, выполняяPOST
на:
https://login.microsoftonline.com/my.domain/oauth2/token
Я передаю необходимые параметры:
data = {'grant_type': 'client_credentials', 'client_id': CLIENTID, 'client_secret': SECRET, 'resource': APPURI}
и я получаю ответ как это:
{
'resource': 'APPURI',
'expires_in': '3599',
'ext_expires_in': '3600',
'access_token': 'TOKENHERE',
'expires_on': '1466179206',
'not_before': '1466175306',
'token_type': 'Bearer'
}
Однако я пытаюсь использовать этот токен, и он не работает для всего, что я называю. Я передаю это как заголовок:
h = {'Authorization': 'Bearer ' + TOKEN}
Я звоню по этому адресу:
url = 'https://graph.microsoft.com/v1.0/users/[email protected]/messages'
В частности, я использую это:
r = requests.get(url, headers=h)
Ответ 401:
{
'error': {
'innerError': {
'date': '2016-06-17T15:06:30',
'request-id': '[I assume this should be removed for privacy]'
},
'code': 'InvalidAuthenticationToken',
'message': 'Access token validation failure.'
}
}