1

在进行 Outlook api https://outlook.office.com/api/v2.0/me/photo/ $value 调用以通过 Postman/ajax 调用获取照片时。得到以下错误。

{"error":{"code":"UnknownTokenType","message":"令牌类型未知。","innerError":{"requestId":"df42ad59-d446-48a6-bfbe-6a9334bde364","date ":"2019-08-09T08:06:24"}}}

能够获取 oauth 2.0 访问令牌并将其传递给 Outlook api 调用的标头。该调用返回 401 未授权状态以及错误消息 UnknownTokenType。

GET /api/v2.0/me/photo/$value HTTP/1.1
Host: outlook.office.com
Authorization: Bearer eyJ0eX..
User-Agent: PostmanRuntime/7.15.2
Accept: */*
Cache-Control: no-cache
Postman-Token: 53ee..
Host: outlook.office.com
Accept-Encoding: gzip, deflate
Connection: keep-alive
cache-control: no-cache

有人可以帮助解决错误代码吗?我相信令牌类型是 Bearer 已经与访问令牌一起传递

提前致谢。

4

1 回答 1

2

如今,有两种方法可以在云中访问 Microsoft 产品。每个产品都有原始 API,例如 Outlook、Sharepoint 等,但您可以越来越多地使用Microsoft Graph API通过通用 API 格式访问每个产品。

您是否正在使用 Graph 范围获取访问令牌:

https://graph.microsoft.com/.default

然后将其传递给 Outlook API?这可能会产生您看到的错误,因为每个 API 都有自己的访问令牌范围。显示了如何使用 Graph API 访问具有适当范围的 Outlook。

当我直接访问 Sharepoint API 时,我需要将访问令牌的范围与通过 Graph API 访问 Sharepoint API 时不同。

于 2019-08-09T08:41:56.363 回答