Microsoft Graph API逻辑应用程序身份验证

问题描述

我很难让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授权调用?

解决方法

此异常是由使用client credentials flow获取的令牌引起的。在此流程中,没有 / Me 的上下文。

这种类型的授予通常用于必须在后台运行的服务器到服务器的交互,而无需与用户立即进行交互(没有用户登录)。

对于您的问题,您正在使用客户端凭据流,并且正在授予应用程序权限,因此您应该请求 / users

 GET   https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/messages/{id}

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...