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

如何通过Microsoft Graph以编程方式接受共享日历邀请?

解决方案:通过Microsoft Graph API编程接受日历共享邀请

针对你的场景(服务账户使用委托权限,批量处理日历共享邀请),可以通过以下步骤实现自动接受,无需手动操作邮件:

1. 检索日历共享邀请邮件

首先,筛选出服务账户邮箱中所有类型为calendarSharingMessage的邮件(即日历共享邀请):

GET https://graph.microsoft.com/v1.0/me/messages?$filter=@odata.type eq '#microsoft.graph.calendarSharingMessage'&$select=id,subject,sharingMessageActions

这个请求会返回所有未处理的共享邀请,包含邮件ID、主题和可执行的动作信息。

2. 调用API接受共享邀请

对每一封目标邮件,调用accept端点完成共享接受:

POST https://graph.microsoft.com/v1.0/me/messages/{message-id}/accept
Content-Type: application/json

{
  "sendResponse": false, // 可选:是否自动向共享发起者发送接受回复
  "saveToFolderId": null // 可选:指定接受邮件的保存文件夹ID,默认存入已处理邮件文件夹
}

执行该请求后,共享的日历会自动添加到服务账户的日历列表中,可以通过GET https://graph.microsoft.com/v1.0/me/calendars验证是否出现。

关键注意事项

  • 权限要求:需要为服务账户配置Calendars.ReadWrite和Mail.ReadWrite的委托权限,确保能读取邮件并修改日历数据。
  • 批量处理优化:如果需要处理数百个邀请,建议使用Microsoft Graph的批量请求功能,将多个accept请求打包发送,减少API调用次数。
  • 状态验证:接受操作完成后,可通过GET /me/calendars检查目标日历是否存在,确认接受成功。

你提到的邮件正文中的接受链接属于用户交互型URL,不适合服务账户调用,而上述Graph API端点是官方支持的程序化处理方式,完全替代手动点击操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:10:28