无法使用 Microsoft 图形 API 获取照片

Rav*_*ngh 2 azure azure-active-directory microsoft-graph-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"

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

谢谢

Md *_*ron 6

只有当用户拥有邮箱时,才能读取和更新用户的个人资料照片。此外,之前可能已使用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
Run Code Online (Sandbox Code Playgroud)

请参阅下面的屏幕截图:

Azure Active Directory 个人资料图片:

在此处输入图片说明

邮递员请求示例:

请求网址:

https://graph.microsoft.com/beta/users/UserIdOrPrincipalName/photo/$value
Run Code Online (Sandbox Code Playgroud)

![在此处输入图片说明

要记住的要点:

确保您已在 azure 门户配置文件中上传用户照片。

笔记:

Microsoft Graph 中 /beta 版本下的 API 可能会发生变化。不支持在生产应用程序中使用这些 API