我一直在使用Office365(Outlook)API一段时间(https://outlook.office.com)
现在我需要能够上传文件 . 我发现它只能通过使用其他服务来完成 . (e.x. Microsoft Graph) .
例如https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_createuploadsession
问题是,使用我当前的身份验证,我无法同时访问这两个服务:
现在我使用范围:
openid offline_access profile
https://outlook.office.com/calendars.readwrite.shared
当我添加 Files.ReadWrite.All 时,我无法再访问outlook endpoints . 我收到以下错误:
The audience claim value is invalid 'https://graph.microsoft.com'
有没有办法能够使用相同的令牌调用这两个服务?也许有任何解决方法?
1 回答
不,您不能使用相同的令牌 . 访问令牌通过受众声明限定为特定API . Outlook API会拒绝您的令牌,因为令牌内的受众群体声明是针对图表设置的 .
最简单的解决方案是将Graph用于与Outlook相关的内容 . 它们与支持的内容非常接近(参见https://docs.microsoft.com/en-us/outlook/rest/compare-graph-outlook) .
如果您正在使用的内容仅在Outlook endpoints 上可用,那么您将需要使用单独的令牌 .