如何通过Graph API将Exchange Online会议更新至Azure AD实际会议室?
如何通过Graph API将Exchange Online会议更新为Azure AD实际会议室
没问题,完全可以实现把会议地点更新为Azure AD中注册的实际会议室,而不是单纯的文本形式。我来给你梳理具体的操作要点和正确的请求示例:
关键前提
首先要确认你要设置的"someroom"是Azure AD中已创建的会议室资源账户(它会有对应的邮箱地址,比如someroom@mydomain.onmicrosoft.com),这是实现关联的基础。
正确的PATCH请求结构
你之前的请求缺少了几个关键参数,导致Graph API将地点识别为普通文本而非结构化会议室。需要在请求体里明确指定地点的类型和属性:
请求端点
PATCH /me/events/{event-id}
(或者用/users/{user-id}/events/{event-id}针对特定用户的事件)
请求体示例
{ "subject": "Test Graph 2", "location": { "@odata.type": "#microsoft.graph.location", "displayName": "someroom", "locationEmailAddress": "someroom@mydomain.onmicrosoft.com", "locationType": "room", "address": { "street": "", "city": "", "state": "", "countryOrRegion": "", "postalCode": "" }, "coordinates": { "latitude": 0, "longitude": 0 } } }
核心参数说明
@odata.type: 必须指定为#microsoft.graph.location,这告诉Graph API你要设置的是一个结构化的地点对象,而非纯文本locationType: 设置为"room",明确标记这是一个会议室资源locationEmailAddress: 必须对应Azure AD中会议室资源账户的邮箱,这是关联到实际会议室的关键标识
验证结果
发送请求后,你可以通过GET请求获取该事件的详情,查看location字段:
- 应该能看到
locationType为"room" locationEmailAddress正确显示会议室邮箱- 此时在Outlook或Teams中打开会议,地点会直接关联到该会议室,而不是显示纯文本
关于AdditionalData的补充
你提到的location.AdditionalData其实更多用于扩展自定义属性,对于设置标准会议室来说,上面的参数就足够了,不需要额外使用AdditionalData。
内容的提问来源于stack exchange,提问作者Hell.Bent
相关产品推荐
相关产品推荐

