azure-active-directory - 无法使用 Microsoft Graph API 获得管理员同意和访问令牌
问题描述
我想构建一个示例应用程序,它可以使用 Microsoft 图形 API 读取实时或 office365 的 Outlook 帐户日历。
我尝试实施的案例是Microsoft Graph:无需用户即可访问
- 我在 Outlook Live 上创建了一个个人帐户。
- 在 Azure 门户上注册了一个应用程序。
- 下一步是获得管理员同意。
为了获得管理员同意,我尝试点击:
https://login.microsoftonline.com/common/adminconsent ?client_id=clientId &state=state &redirect_uri=redirect-uri
得到错误:
我们无法从此 API 版本为 Microsoft 帐户颁发令牌。请联系应用程序供应商,因为他们需要使用 2.0 版协议来支持此功能。
解决方案
由于您使用个人帐户在 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 中获得的代码来获取访问令牌。
推荐阅读
- objective-c - 请求 NSSharingServices 输出“无法实例化类 NSURL”
- jsonschema - 沃尔玛市场 API JSON 模式
- amazon-web-services - 没有响应或输出运行 aws 命令
- css - 浮动时引导进度条消失
- java - Java父类使用子类属性
- python - Python:如何使圆变大和变小
- reactjs - 在没有道具的 Typescript 中使用 React.forwardRef
- javascript - 如何使用数组或对象显示消息
- javascript - 仅当子元素存在时隐藏元素
- elasticsearch - 弹性搜索索引上的多个分析器