我正在使用本文所述的服务应用查询Microsoft Graph:http://graph.microsoft.io/en-us/docs/authorization/app_only
我成功地向租户特定的URL发出POST请求并获得指定的JSON响应:
{
"token_type": "Bearer",
"expires_in": "3599",
"scope": "User.Read",
"expires_on": "1449685363",
"not_before": "1449681463",
"resource": "https://graph.microsoft.com",
"access_token": "<token>"
}
除了&#34;范围&#34;参数丢失。我有所有&#34; Office 365 Exchange Online&#34; &#34;申请许可&#34;在我的AD配置面板中检查。在针对Graph API使用返回的令牌时,我能够成功调用https://graph.microsoft.com/v1.0/users/
,但没有其他端点。
答案 0 :(得分:2)
我刚刚遇到了这个问题,并希望详细说明标记为正确的答案,因为这是正确的答案,但却是一个不完整的解决方案。如果没有范围参数,则表示您的应用已注册,但管理员未同意访问您的AD实例的应用。注册应用程序后,您必须构建并转到以下URL以授权应用程序(当然还有管理员帐户):
GET https://login.microsoftonline.com/{TenantID}/adminconsent?
client_id=<APP ID>
&state=<This is optional for your app to use>
&redirect_uri=<ReturnURL>
TenantID:来自Azure门户网站 - 如果您点击右上方的“帮助”图标,然后选择“显示诊断”&#39;您可以在诊断JSON中找到租户ID。
AppID:来自Azure门户 - 当您注册应用时,您将转到管理控制台并剪切/粘贴
This article对于尝试进行图表整合的人来说有一些有用的信息。
答案 1 :(得分:1)
您需要从Microsoft Graph服务中可用的列表中选择应用程序范围,然后获得管理员同意