azure - 无法使用 Microsoft 图形 API 获取照片
问题描述
我们正在将 Microsoft Azure AD 与我们的应用程序集成。我正在尝试使用 Microsoft Graph API ( https://graph.microsoft.com/v1.0/users/ {id | userPrincipalName}/photo/$value) 获取用户个人资料图片。但它不适合我。我已在应用程序中授予此 API 所需的所有权限,但每次都低于响应。你能告诉我我错过了什么配置吗?
回复:
{
"error": {
"code": "ResourceNotFound",
"message": "Resource could not be discovered.",
"innerError": {
"request-id": "dc27c602-5734-4dec-9b2a-8b42d5577073",
"date": "2019-07-02T10:33:42"
}
}
}
谢谢
解决方案
只有当用户有邮箱时,才能读取和更新用户的个人资料照片。此外,以前可能使用 thumbnailPhoto 属性(使用 Office 365 统一 API 预览、Azure AD Graph 或通过 AD Connect 同步)存储的任何照片都无法再通过用户资源的 Microsoft Graph photo 属性进行访问。有关更多详细信息,您可以在此处查看官方文档
Microsoft Graph v1.0 从 Exchange Online 而非 Azure Active Directory 检索用户的 profilePhoto。因此,没有在 Exchange Online 中配置邮箱的用户将没有可用的 profilePhoto
您的案例:
您可以尝试使用Microsoft Graph REST API Beta
流动格式的版本请求 URL:
https://graph.microsoft.com/beta/users/UserIdOrPrincipalName/photo/$value
请看下面的屏幕截图:
Azure Active Directory 配置文件图片:
邮递员请求示例:
请求网址:
https://graph.microsoft.com/beta/users/UserIdOrPrincipalName/photo/$value
要记住的要点:
确保您已在 azure 门户配置文件中上传用户照片。
笔记:
Microsoft Graph 中 /beta 版本下的 API 可能会发生变化。不支持在生产应用程序中使用这些 API
推荐阅读
- java - hadoop-aws - s3a 上传限制带宽?
- abap - 通过 RFC 提供 SAP 报告
- jqgrid - JQGrid - 如何根据另一个选择重新加载一个选择的 dataurl
- amazon-web-services - aws xray 未在 nodejs 中监控 dynamo dax 客户端
- html - Microsoft Edge 浏览器完全忽略 div 宽度
- single-sign-on - Identity Server 4 外部 IDP 注销整理
- ruby-on-rails - 找到多个时的最新记录
- php - 我想从 sql 语句中回显错误。我正在使用 php 连接访问数据库
- html - 使用 puppeteer 抓取表以获取特定数据
- c# - EPPlus 通过多次保存打开文件并锁定文件