【发布时间】:2018-01-11 22:23:42
【问题描述】:
我正在尝试在使用 EWS 连接到 Office 365 的电子邮件应用程序的上下文中访问已登录用户的个人资料照片。
该应用已在 portal.azure.com 上注册,并具有以下所需权限:
- Office 365 Exchange Online -> 通过 Exchange Web 服务以登录用户身份访问邮箱
- Windows Azure Active Directory -> 登录并阅读用户配置文件
EWS 部分运行良好,我可以让用户登录,获取访问和刷新令牌,并使用“授权:承载访问令牌”执行 EWS 操作。
我遇到问题的部分是获取用户的个人资料照片。
这是我要查看的文档:
https://msdn.microsoft.com/en-us/office/office365/api/photo-rest-operations
我尝试使用的 API 端点是:
获取https://outlook.office.com/api/v2.0/me/photo
...带有“Authorization: Bearer access_token”标头。
上面的 API 返回这个响应:
HTTP 403 {"error":{"code":"ErrorAccessDenied","message":"访问被拒绝。 检查凭据并重试。"}}
可能出了什么问题?
- 根据上述文档,应该可以使用 user.read 范围获取用户的照片。
- 我上面提到的“登录并阅读用户个人资料”权限有一个工具提示说“User.Read”,所以我认为这是正确的范围
我尝试在 jwt.io 解码我的访问令牌,它有:"scp": "full_access_as_user" - 我的 User.Read 范围在哪里,或者“完全访问”是否包括“user.read”?
有什么想法吗?
【问题讨论】:
标签: azure azure-active-directory