首页 > 解决方案 > 无法使用 Microsoft Graph API 获得管理员同意和访问令牌

问题描述

我想构建一个示例应用程序,它可以使用 Microsoft 图形 API 读取实时或 office365 的 Outlook 帐户日历。

我尝试实施的案例是Microsoft Graph:无需用户即可访问

  1. 我在 Outlook Live 上创建了一个个人帐户。
  2. 在 Azure 门户上注册了一个应用程序。
  3. 下一步是获得管理员同意。
  4. 为了获得管理员同意,我尝试点击:

    https://login.microsoftonline.com/common/adminconsent ?client_id=clientId &state=state &redirect_uri=redirect-uri

得到错误:

我们无法从此 API 版本为 Microsoft 帐户颁发令牌。请联系应用程序供应商,因为他们需要使用 2.0 版协议来支持此功能。

标签: azure-active-directorymicrosoft-graph-apioutlook-restapimicrosoft-graph-calendar

解决方案


由于您使用个人帐户在 Azure 门户上注册应用程序,因此您只能代表用户获得访问权限。您只能访问登录用户日历。(个人帐户和 o365 帐户)

在此处输入图像描述

授权请求

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id={your_client_id}
&response_type=code
&redirect_uri=https://localhost/myapp
&response_mode=query
&scope=https://graph.microsoft.com/Calendars.Read
&state=12345

在此处输入图像描述

然后您可以使用您在 url 中获得的代码来获取访问令牌


推荐阅读