Microsoft Graph API预订-此请求的授权被拒绝

时间:2020-09-14 16:58:43

标签: oauth-2.0 azure-functions microsoft-graph-api microsoft-graph-booking

我花了将近一天的时间来研究如何使用Microsoft Graph API创建预订。我正在尝试使用邮递员。

问题

当我提出以下请求时,我收到401异常消息:

此请求的授权已被拒绝。

我的应用场景

基本上,我将需要在没有用户登录的情况下获得授权码-这就像服务到服务的一种情况。本质上,我将拥有一个与MS Graph API进行通信的Azure Function App API(HTTP触发),并且可以从完全托管在其他地方的另一个应用程序中调用它。

我到目前为止所做的事情

  1. 这是我如何在Bookings.Manage.All权限下向Azure AD注册应用程序。 enter image description here

  2. 在这里,Postman API可以获取令牌,该令牌成功将令牌返回给我: enter image description here

  3. 最后,另一个Postman API使用MS Graph API创建预订实体,该实体返回前面提到的401异常: enter image description here

即使我也编写了一些代码来通过代码来体验它,也希望找到更多细节,但结果却相同,即401异常。这是我的编码草案的屏幕截图:

enter image description here

将令牌放入jwt.io后,我意识到仅显示application权限,而不显示delegate权限,预订权限实际上是delegate权限。我认为这与我收到的401异常有关。

我到处都在阅读博客,但尚未设法解决。想知道我是否在这里使用了错误的东西吗?

1 个答案:

答案 0 :(得分:0)

实际上,我发现由于Booking权限属于delegate类型,因此,我们不能使用client_credential流,而必须使用password流用过的。还有关于this stackoverflow post的有用答案。