【发布时间】:2016-09-29 20:29:40
【问题描述】:
我在阅读所有用户日历时遇到问题,我在此解释过:Using Microsoft graph to read all users calendars
根据文档,这是可用的,但它不起作用,回复是最好使用以下文章(守护程序或服务应用程序)中描述的流程。
我做过的事情: - 我在 Azure 门户中的 Active Directory 下注册了我的 Web 应用程序。我将其设置为 Web 应用程序(不是本机客户端应用程序)。我将其设置为多租户并授予应用程序权限。 - 我制作了一个密钥,编辑了清单并上传了这个。
我正在做的是:
1) 获取用户的租户ID,此时admin用户给予权限。
2) 如文章中所述:我只使用我取回的tenantId,我没有对访问令牌做任何事情。
3) 然后我从https://login.windows.net/TENANT_ID/oauth2/token?api-version=1.0 获得一个令牌,这似乎也可以工作(经过大量搜索)。
4) 当我将访问令牌放回https://jwt.io 时,我得到了一个有效的结果(至少看起来是这样),请参见此处:https://www.evernote.com/shard/s29/sh/5128795e-e7fd-4b8e-a779-5795cd83a66d/6e67979e1b628b06da60a5dcd5ba99a4
5) 无论我之后使用访问令牌提出什么请求,我都会得到:
The token contains no permissions, or permissions can not be understood.
这些是我在步骤 1 中要求的范围。
SCOPES = [ "openid" "Calendars.Read", "User.Read.All", "offline_access" ]
几个问题:
- 我可以丢弃我在步骤 1 中返回的令牌并仅使用租户 ID 是否正常。此时用户收到一条消息,需要授权站点(使用范围......)。在第 3 步中,用户不再收到弹出窗口。如果我不使用我当时得到的令牌,它怎么能记住?
- 我需要使用哪些端点?关于守护进程的帖子说 https://outlook.office365.com 但是当我在我的应用程序配置中的 Azure 活动目录中时,如果我单击 view endpoints,我会看到 https://graph.windows.net 按钮。
- 在我收到的第一个问题的回复中:我们正在努力支持您请求的场景(访问其他用户的日历),但该功能尚未发布。请继续关注... 也许我需要等待,但有什么迹象表明什么时候?这是几天的事吗?周?
【问题讨论】:
-
可以编辑您的问题并包含一些代码和/或您为每个步骤提出的请求。肯定会更容易找出发生了什么。
标签: office365 adal microsoft-graph-api azure-ad-graph-api