无法使用Microsoft Graph API获得管理员同意和访问令牌

时间:2019-07-17 12:34:38

标签: azure-active-directory microsoft-graph outlook-restapi microsoft-graph-calendar

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

我要实施的案例是Microsoft Graph : Get access without a user

  1. 我在Outlook Live中创建了一个个人帐户。
  2. 在Azure门户上注册了一个应用程序。
  3. 下一步是征得管理员的同意。
  4. 我征得了管理员的同意:

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

出错:

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

1 个答案:

答案 0 :(得分:1)

由于您使用个人帐户在Azure门户上注册了该应用程序,因此您只能get access on behalf of a user。您只能访问登录用户日历。(个人帐户和o365帐户)

enter image description here

授权请求

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

enter image description here

然后,您可以使用从get the access token网址中获得的代码。