使用具有相同标记的 Microsoft Office365 (Outlook) API 和 Graph API
Use both Microsoft Office365 (Outlook) API and Graph API with the same token
我使用 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 端点。我收到以下错误:
The audience claim value is invalid 'https://graph.microsoft.com'
有没有办法用同一个令牌调用这两个服务?也许有任何解决方法?
不,您不能使用相同的令牌。访问令牌通过观众声明限定在特定的 API 范围内。 Outlook API 拒绝您的令牌,因为令牌中的观众声明是为 Graph 设置的。
对您来说最简单的解决方案是将 Graph 用于与 Outlook 相关的内容。它们在支持方面非常接近(参见 https://docs.microsoft.com/en-us/outlook/rest/compare-graph-outlook)。
如果您正在使用的某些东西只能在 Outlook 端点上使用,那么您将需要使用单独的令牌。
我使用 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 端点。我收到以下错误:
The audience claim value is invalid 'https://graph.microsoft.com'
有没有办法用同一个令牌调用这两个服务?也许有任何解决方法?
不,您不能使用相同的令牌。访问令牌通过观众声明限定在特定的 API 范围内。 Outlook API 拒绝您的令牌,因为令牌中的观众声明是为 Graph 设置的。
对您来说最简单的解决方案是将 Graph 用于与 Outlook 相关的内容。它们在支持方面非常接近(参见 https://docs.microsoft.com/en-us/outlook/rest/compare-graph-outlook)。
如果您正在使用的某些东西只能在 Outlook 端点上使用,那么您将需要使用单独的令牌。