You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使Microsoft Graph获取用户详情的响应包含用户ETag值?

解决Microsoft Graph获取用户无ETag的问题
  • 必须在请求头中添加 ConsistencyLevel: eventual,这是触发Graph返回ETag的必要条件,尤其是针对Beta版本的AD B2C用户对象。
  • 查询时不能只选择只读属性(比如Id、DisplayName),需要包含至少一个可写属性。ETag基于可修改属性生成,只读属性组合不会触发ETag返回。例如修改查询为:
    https://graph.microsoft.com/beta/users/:userId?$select=Id,DisplayName,givenName
    
  • 确认应用权限配置正确:需拥有User.ReadWrite.All或User.Read.All权限(更新场景建议用写权限),且已完成管理员同意(应用权限模式下)。
  • 针对AD B2C用户,确保用户对象存在可写属性(哪怕是空值),只要查询包含这类属性并加上ConsistencyLevel头,就能在响应头中拿到ETag。

拿到ETag后,在后续更新请求的If-Match头中传入该值,即可实现乐观并发控制。


内容的提问来源于stack exchange,提问作者IConfuseEasily

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:37:04