无邮箱用户如何通过其他方式获取AAD中上传的用户头像?
无邮箱AAD用户头像获取替代方案
当AAD用户无可用邮箱时,调用v1.0或beta版本的Profile Photo API会返回如下ErrorEntityNotFound错误:
{ "error": { "code": "ErrorEntityNotFound", "message": "Exception of type 'Microsoft.Fast.Profile.Core.Exception.ImageNotFoundException' was thrown.", "innerError": { "date": "2024-03-11T15:12:51", "request-id": "b99d40f8-45b3-448f-ac11-c981a4208fd1", "client-request-id": "b99d40f8-45b3-448f-ac11-c981a4208fd1" } } }
以下是几种可尝试的替代获取方式:
读取Microsoft Graph用户接口的
thumbnailPhoto字段
调用GET /users/{user-id}接口,检查响应中的thumbnailPhoto字段。该字段会返回用户的小尺寸头像二进制数据,部分无邮箱用户的上传头像会同步到这里。注意:并非所有无邮箱用户都存在该字段,取决于头像的上传场景和AAD配置。检查AAD同步的本地AD属性
如果用户是从本地Active Directory同步到AAD的,确认本地AD中的thumbnailPhoto属性已开启同步。同步完成后,可通过Microsoft Graph的用户接口直接读取该属性。使用AAD Graph API(不推荐长期依赖)
虽然AAD Graph API已被Microsoft Graph取代,但部分遗留环境中,无邮箱用户的头像可能仍可通过GET /directoryObjects/{user-id}/thumbnailPhoto接口获取。由于官方已停止维护此API,仅建议作为临时解决方案。
内容的提问来源于stack exchange,提问作者Karthik Balan
相关产品推荐
相关产品推荐

