我很难让Microsoft Graph API调用正常工作。具体来说,我在身份验证过程中遇到了困难。我按照本文的指示进行操作
http://martink.me/articles/using-microsoft-graph-in-logic-apps
但是,当我进行https://graph.microsoft.com/v1.0/me/messages/{id}的api调用时,出现错误消息:
当前已认证的上下文对此请求无效。当对需要用户登录的端点发出请求时,就会发生这种情况。例如,/ me需要登录的用户。代表用户获取令牌,以向这些端点发出请求。将OAuth 2.0授权代码流用于移动和本机应用程序,并将OAuth 2.0隐式流程用于单页Web应用程序。
然后我添加了一个oAuth令牌调用以获取令牌。然后在进行Microsoft Graph Api调用时在Authorization标头中使用了该令牌。我仍然遇到相同的错误。
谁能提供有关如何最好地在LogicApps中进行Graph Api调用的指南?我只需要本文中讨论的身份验证吗?或者,我是否需要使用授权令牌调用Graph Api?在进行oAuth令牌调用之前是否需要进行oAuth授权调用?
答案 0 :(得分:0)
此异常是由使用client credentials flow获取的令牌引起的。在此流程中,没有 / Me 的上下文。
这种类型的授予通常用于必须在后台运行的服务器到服务器的交互,而无需与用户立即进行交互(没有用户登录)。
对于您的问题,您正在使用客户端凭据流,并且正在授予应用程序权限,因此您应该请求 / users 。
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/messages/{id}