Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 Microsoft Graph API预订-此请求的授权已被拒绝_Oauth 2.0_Azure Functions_Microsoft Graph Api_Microsoft Graph Booking - Fatal编程技术网

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

Oauth 2.0 Microsoft Graph API预订-此请求的授权已被拒绝,oauth-2.0,azure-functions,microsoft-graph-api,microsoft-graph-booking,Oauth 2.0,Azure Functions,Microsoft Graph Api,Microsoft Graph Booking,我花了将近一天的时间来研究如何使用MicrosoftGraphAPI创建预订。我正在用邮递员试试这个 问题 当我提出下面的请求时,我得到一个401例外,上面说: 此请求的授权已被拒绝 我的应用程序场景 基本上,我需要在没有用户登录的情况下获得授权码——这类似于服务对服务的场景。本质上,我将拥有一个Azure函数应用程序API(HTTP触发),它与MS Graph API通信,并从完全位于其他地方的另一个应用程序调用 我到目前为止所做的事情 以下是我如何在Azure AD中注册一个应用程序,并具有

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

问题

当我提出下面的请求时,我得到一个401例外,上面说:

此请求的授权已被拒绝

我的应用程序场景

基本上,我需要在没有用户登录的情况下获得授权码——这类似于服务对服务的场景。本质上,我将拥有一个Azure函数应用程序API(HTTP触发),它与MS Graph API通信,并从完全位于其他地方的另一个应用程序调用

我到目前为止所做的事情

  • 以下是我如何在Azure AD中注册一个应用程序,并具有
    Bookings.Manage.All
    权限。

  • 这里是Postman API,用于获取一个令牌,该令牌成功地将令牌返回给我:

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

  • 甚至我也编写了一些代码来通过代码体验它,希望找到更多细节,但结果是一样的,那就是401例外。以下是我的代码草案截图:

    将令牌放入
    jwt.io
    后,我意识到只显示
    应用程序
    权限,而不显示
    代理
    权限,并且预订权限实际上是
    代理
    权限。我想这与我收到的401例外有关


    我一直在阅读各地的博客,但还没有设法解决这个问题。想知道我是否在这里遗漏了一些错误使用的东西?

    事实上,我已经发现,因为
    预订
    权限属于
    委托
    类型,因此,我们不能使用
    客户端凭证
    流,而必须使用
    密码
    流。这是一个有用的答案