2016-03-17 5 views
0

Я пытаюсь реализовать клиента, который импортирует события, которые пользователь имеет в Office 365, чтобы я мог легко отображать их в приложении компании.Ток OAuth, отправленный с запросом, не может быть разобран

Мне удалось заставить пользователя пройти аутентификацию со своей учетной записью Office 365 и одобрить мое приложение, а также получить AccessToken, но когда я пытаюсь использовать токен для извлечения событий из API, я получаю 401 HTTP код ошибки, никакое тело и в заголовках у меня это:

Content-Length →0 
Date →Thu, 17 Mar 2016 08:56:00 GMT 
Server →Microsoft-IIS/8.0 
WWW-Authenticate →Bearer client_id="00000002-0000-0ff1-ce00-000000000000", trusted_issuers="[email protected]*", token_types="app_asserted_user_v1 service_asserted_app_v1", authorization_uri="https://login.windows.net/common/oauth2/authorize", error="invalid_token",Basic Realm="",Basic Realm="" 
X-BEServer →DB4PR06MB522 
X-BackEndHttpStatus →401 
X-CalculatedBETarget →DB4PR06MB522.eurprd06.prod.outlook.com 
X-DiagInfo →DB4PR06MB522 
X-FEServer →AM3PR06CA022 
X-Powered-By →ASP.NET 
request-id →de1963bc-36df-4473-81f6-66ec37e8b415 
x-ms-diagnostics →2000001;reason="OAuth token submitted with the request can not be parsed.";error_category="invalid_token" 

токен я получаю от https://login.microsoftonline.com/common/oauth2/token со следующим телом:

grant_type=authorization_code 
redirect_uri=https://example.com/redirect-uri 
client_id=XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX 
client_secret=[my-client-secret] 
code=[code-received-from-user-auth] 

токен я получаю от выше вызова, я отправьте через заголовок авторизации https://outlook.office.com/api/v2.0/me/events вот так:

Authorization: Bearer [access-token] 

Статус ответ я получаю от этого вызова 401 Несанкционированное, я получаю пустое тело и заголовки, как так:

Content-Length →0 
Date →Thu, 17 Mar 2016 08:56:00 GMT 
Server →Microsoft-IIS/8.0 
WWW-Authenticate →Bearer client_id="00000002-0000-0ff1-ce00-000000000000", trusted_issuers="[email protected]*", token_types="app_asserted_user_v1 service_asserted_app_v1", authorization_uri="https://login.windows.net/common/oauth2/authorize", error="invalid_token",Basic Realm="",Basic Realm="" 
X-BEServer →DB4PR06MB522 
X-BackEndHttpStatus →401 
X-CalculatedBETarget →DB4PR06MB522.eurprd06.prod.outlook.com 
X-DiagInfo →DB4PR06MB522 
X-FEServer →AM3PR06CA022 
X-Powered-By →ASP.NET 
request-id →de1963bc-36df-4473-81f6-66ec37e8b415 
x-ms-diagnostics →2000001;reason="OAuth token submitted with the request can not be parsed.";error_category="invalid_token" 

Можете ли вы сказать мне, что я Неправильно?

ответ

0

Мне удалось решить проблему, которую я имел.

Для дальнейшего использования проблема заключалась в том, что я не говорил конечной точке https://login.microsoftonline.com/common/oauth2/token, для чего мне нужен токен.

Мне пришлось указать параметр ресурса базовым URL-адресом ресурса, с которым я собирался взаимодействовать после. В моем случае это было https://outlook.office365.com.

Смежные вопросы