Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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
Microsoft graph api Can';t访问Microsoft Graph用户日历403_Microsoft Graph Api - Fatal编程技术网

Microsoft graph api Can';t访问Microsoft Graph用户日历403

Microsoft graph api Can';t访问Microsoft Graph用户日历403,microsoft-graph-api,Microsoft Graph Api,我看过其他类似的帖子,但我没有找到真正的答案。有人说“它就要来了”,这些都是老生常谈 我正在使用O365的管理员凭据进行身份验证,并尝试提取日历信息。该作用域具有Calendars.ReadWrite(仅在App和Delegate范围内),但它始终返回403。ErrorAccessDenied,“访问被拒绝。请检查凭据并重试” 日历视图的Graph文档显示它可以在请求中发送users/{id},当我列出所有用户时,id返回。当然,如果我用我的,它的工作 如果对于相同的作用域名称,确实存在仅应用程

我看过其他类似的帖子,但我没有找到真正的答案。有人说“它就要来了”,这些都是老生常谈

我正在使用O365的管理员凭据进行身份验证,并尝试提取日历信息。该作用域具有Calendars.ReadWrite(仅在App和Delegate范围内),但它始终返回403。ErrorAccessDenied,“访问被拒绝。请检查凭据并重试”

日历视图的Graph文档显示它可以在请求中发送users/{id},当我列出所有用户时,id返回。当然,如果我用我的,它的工作

如果对于相同的作用域名称,确实存在仅应用程序作用域与委托作用域,您如何指定

我是否必须在O365中为我的管理员用户指定某些内容,以使其具有权限?我可以在O365中删除或创建任何拥有该帐户的用户,因此它似乎应该拥有它所需要的


谢谢

所以,这个应用程序的流程只是略有不同

首先,不是在“”处对用户进行身份验证,而是在“”处对其进行身份验证

其次,传入相同的参数减去“范围”。范围由在apps.dev.microsoft.com上注册的应用程序中定义的应用程序权限决定

第三,当您收到回调时,您将没有一个“代码”可用于去检索您的访问和刷新令牌。相反,您将收到“租户”财产和“管理员同意”财产。“管理员同意书”将告诉您是否拥有该权利

第四,在请求访问令牌时,您将不提供“scope”或“code”参数,而是提供一个值为“”的“resource”参数

最后,您联系以获取令牌的URL将从“”更改为“{tenant}/oauth2/token”,其中{tenant}将是返回的值

请注意,URL中缺少“v2.0”。那不是打字错误。如果不将其从路径中删除,则会出现关于无效或缺少“scope”参数的错误

一旦成功返回您的访问和刷新令牌,该流似乎遵循正常的委托访问

下面是微软给我的几个链接,以及他们帮助我解决这个问题的指导

(非常感谢微软的杰夫)

最新的文档在这里:


我遵循它,并且我能够以
日历的权限读取/写入他人的日历。ReadWrite

库是否支持此流程?