首页 > 解决方案 > 如何通过 Microsoft Graph API 在 Azure 中检索用户照片的 ETag 属性?

问题描述

目前,调用 Microsoft Graph 来检索用户照片元数据的调用缺少该ETag属性。有什么方法可以将此与当前返回的信息width一起添加到响应中?height这是一个示例响应。

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('<user-id>')/photo/$entity",
  "@odata.mediaContentType": "image/Jpeg",
  "width": 128,
  "height": 128,
  "id": "128X128"
}

请注意,ETag不会随响应返回。

相反,Outlook REST API V2.0在其等效 API 调用的响应中返回此信息:

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/photo/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
  "@odata.mediaContentType": "image/jpeg",
  "@odata.mediaEtag": "\"BA09D118\"",
  "Id": "240X240",
  "Width": 240,
  "Height": 240
}

是否可以将此功能添加到 Microsoft Graph,以便后续检查用户照片的更改不需要检索整个二进制图像照片数据,而只需检索具有此重要ETag属性的元数据信息?

更新:显然,@odata.mediaEtag 与https://graph.microsoft.com/v1.0/me/photosAPI 一起返回,但我再次主要感兴趣/想知道为什么它没有与基于域的自定义租户用户的用户 API 一起返回:https://graph.microsoft.com/beta/users/{user_id}/photo

另一个更新:根据下面的回复,我进行了一些挖掘,并意识到我的 Azure 租户没有为我的任何用户启用 Exchange/Outlook/Mail(按设计)。当用户启用邮件和不启用邮件时,此 API 调用是否有不同的行为?如果是这样,那不应该在微软的某个地方澄清吗?或者是否需要更新 API 以包含mediaETag所有场景?请指教。

标签: azure-active-directorymicrosoft-graph-api

解决方案


推荐阅读