首页 > 解决方案 > 无法使用 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"

        }

    }

}

谢谢

标签: azureazure-active-directorymicrosoft-graph-api

解决方案


只有当用户有邮箱时,才能读取和更新用户的个人资料照片。此外,以前可能使用 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


推荐阅读