我们正在将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"
}
}
}
谢谢
答案 0 :(得分:2)
仅当用户具有邮箱时,才可以读取和更新用户的个人资料照片。此外,以前可能已通过thumbnailPhoto属性(使用Office 365统一API预览,Azure AD Graph或通过AD Connect同步)存储的任何照片都不再可以通过用户资源的Microsoft Graph照片属性进行访问。有关更多详细信息,请检查official docs here
Microsoft Graph v1.0从Exchange检索用户的个人资料照片 联机,而不是Azure Active Directory。因此,没有 Exchange Online中配置的邮箱将没有配置文件照片 可用
您的案例:
您可以尝试使用以下格式的Microsoft Graph REST API Beta
版本请求网址:
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