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

Microsoft Graph /places API返回ID与/users接口结果不一致问题咨询

问题根因

Microsoft Graph 中place(包含会议室类型microsoft.graph.room)是独立于AAD目录对象的空间资源实体,其返回的id是该空间资源的专属标识,而会议室对应的资源邮箱属于AAD用户类目录实体,拥有独立的AAD对象ID,二者本身就不是同一个值,不属于接口异常。

解决方案

方案1:直接在places接口拉取关联的AAD对象ID,无需额外调用users接口

你调用/places接口查询会议室时,直接在$select参数中添加externalDirectoryObjectId字段即可,该字段的值就是对应资源邮箱在AAD中的ID,和/users接口返回的id完全一致。
调整后的请求示例:

https://graph.microsoft.com/v1.0/places/microsoft.graph.room?$top=2&$select=id,displayName,emailAddress,externalDirectoryObjectId

你可以直接通过该接口返回的结果构建「place ID - AAD用户ID - 邮箱」的三者映射,完全不需要再调用/users接口做匹配,既保留了places接口的查询速度优势,也解决了ID不匹配的问题。

方案2:WebHook通知匹配方案

如果你的WebHook通知携带的是资源邮箱的AAD ID,需要匹配对应的place资源,直接用externalDirectoryObjectId作为过滤条件查询places接口即可,示例请求:

https://graph.microsoft.com/v1.0/places/microsoft.graph.room?$filter=externalDirectoryObjectId eq '你收到的WebHook通知中的ID'&$select=id,displayName,emailAddress

该过滤查询在3000条数据量级下响应速度极快,不会有性能问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 17:12:02