joy*_*nce 0 microsoft-graph-api
当我尝试使用Graph Explorer检索照片时,使用示例帐户效果很好。
但是当我用自己的帐户登录时,它就被破坏了。
当我请求时:
https://graph.microsoft.com/v1.0/me/contacts/{Id}/photo/$value
Run Code Online (Sandbox Code Playgroud)
它返回:
{
"error": {
"code": "ErrorItemNotFound",
"message": "The specified object was not found in the store.",
"innerError": {
"request-id": "ad665ca9-9585-4f7a-9dd1-803061d8baba",
"date": "2018-10-09T15:55:54"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道原因,这让我很困惑。
调用/v1.0/me/contacts/{id}/photo/$value只会返回一张存在的照片(即照片已添加到 Outlook 中的联系人中)。如果没有添加照片,则会返回HTTP 404 - Not Found异常。
您可以先调用来测试照片是否存在,而不是处理异常/v1.0/me/contacts/{id}/photo/。如果附上照片的话。这将返回所附照片的元数据 ( mediaContentType, height, width)。如果返回的结果为空,那么您就知道没有可用的照片。
请记住,Outlook 本身会从多个位置提取个人资料照片。例如,如果联系人没有附加图像,并且他们属于同一组织,则 Outlook 将尝试从联系人的帐户中提取照片。只要您请求了范围,您就可以复制此功能User.ReadBasic.All。
总之,这个过程将是这样的:
称呼/v1.0/me/contacts/{id}/photo/
如果图像存在,则调用/v1.0/me/contacts/{id}/photo/$value检索图像。如果没有,请继续。
使用emailAddress联系人中的,致电/v1.0/users/{emailAddress}/photo
如果图像存在,则调用 /v1.0/users/{emailAddress}/photo/$value检索图像。如果没有,则没有可用的图像。
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |