使用Microsoft Graph JS客户端库添加日历事件却生成会议的解决方法
解决方法
要确保创建的是个人事件而非会议,只需在请求负载中添加两个关键属性,同时保持不包含参会者(attendees)字段:
- 显式设置
isOnlineMeeting为false,避免自动生成在线会议配置 - 设置
onlineMeetingProvider为unknown(显式设置更稳妥)
修改后的请求负载如下:
{ location: { displayName: 'Office' }, subject: 'Test', body: { contentType: 'Text', content: 'Test' }, start: { dateTime: '2023-03-17T15:00:00', timeZone: 'GMT Standard Time' }, end: { dateTime: '2023-03-17T16:00:00', timeZone: 'GMT Standard Time' }, isOnlineMeeting: false, onlineMeetingProvider: 'unknown' }
调用Graph客户端的代码保持不变:
await client .api(`/users/someone@somewhere.com/calendar/events`) .post(event);
原因说明
在Microsoft Graph中,会议本质是包含参会者或启用在线会议的事件。如果你的租户配置了默认自动创建在线会议,即使没有添加参会者,Graph也可能会将事件标记为会议。通过显式关闭在线会议配置,就能确保创建的是纯粹的个人事件,不会被识别为会议。
另外,务必确保请求中不要包含 attendees 数组——只要存在该字段(哪怕是空数组),Graph也会将其视为会议事件。
内容的提问来源于stack exchange,提问作者datahandler
相关产品推荐
相关产品推荐

