我有B2C本地帐户,当我试图使用带有应用程序发出令牌的图形API获取/更新他们的配置文件信息时,它工作了。但是当我试图获取/更新他们的个人资料照片时,我得到404错误。
请求(得到):
https://graph.microsoft.com/v1.0/users/{userOid}/照片反应:404
{
"error": {
"code": "ImageNotFound",
"message": "Exception of type 'Microsoft.Fast.Profile.Core.Exception.ImageNotFoundException' was thrown.",
"innerError": {
"date": "2021-10-26T16:12:52",
"request-id": "ac24acee-8317-4d77-95ea-c69df189e7cb",
"client-request-id": "ac24acee-8317-4d77-95ea-c69df189e7cb"
}
}
}
request: (PUT/POST)和设置内容类型
https://graph.microsoft.com/v1.0/users/{userOid}/图片/美元价值
反应:404
{
"error": {
"code": "UnknownError",
"message": "{rn "errorCode": "ErrorUserResolutionFailedUserDoesNotExist",rn "message": "Exception of type 'Microsoft.Fast.Profile.Core.Exception.ProfileNotFoundException' was thrown.",rn "target": null,rn "details": null,rn "innerError": null,rn "instanceAnnotations": []rn}",
"innerError": {
"date": "2021-10-26T16:13:55",
"request-id": "3517b374-a08d-41a1-8f68-9c9da3cbfb3b",
"client-request-id": "3517b374-a08d-41a1-8f68-9c9da3cbfb3b"
}
}
}
目前,您正在使用Microsoft Graph REST API V1.0来获取/更新B2C本地帐户的用户照片。
但是这些操作在1.0版本中只支持用户的工作或学校邮箱,而不支持个人邮箱
所以你可以使用Microsoft Graph REST API测试版来获取/更新B2C本地帐户的用户照片。
当使用测试版获取/更新用户照片时,此操作首先尝试在Microsoft 365中获取/更新照片。如果失败(由于用户没有邮箱),此API将尝试在Azure Active Directory中获取/更新照片。
注意:要更新用户头像,只能使用PUT操作。
要获取用户的个人资料照片,请确保用户在Azure AD中有个人资料照片。否则,它将抛出ImageNotFound错误。
参考:
profilepphoto资源类型- Microsoft Graph beta | Microsoft Docs
profilepphoto资源类型- Microsoft Graph v1.0 | Microsoft Docs