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

如何通过Google Calendar API获取仅Microsoft Teams插件创建的事件列表

获取Google Calendar中仅Microsoft Teams插件创建的事件

核心思路:先识别Teams事件的专属标记,再通过API筛选

Microsoft Teams插件创建的事件自带几个可用来区分的特征,你可以基于这些特征来过滤:

1. 找对Teams事件的识别点

  • 创建者邮箱:这类事件的creator.email基本都是teams-calendar@microsoft.com(少数情况可能是no-reply@teams.microsoft.com,建议先拉几个测试事件确认)
  • 来源标识:事件的source字段里,title会明确写着Microsoft Teams,对应的url也是Teams会议的链接
  • 扩展属性:部分事件的extendedProperties.shared或private里会有microsoftTeamsMeetingId这类专属字段,不过需要API权限足够才能拿到

2. 用Google Calendar API实现筛选

因为API的filter参数不支持直接按creator邮箱过滤,所以最靠谱的方式是先拉取目标日历的事件,再在本地筛选:

示例代码(Python)

from googleapiclient.discovery import build

# 先初始化API服务(确保已完成OAuth授权,拿到credentials)
service = build('calendar', 'v3', credentials=creds)

# 拉取指定时间范围内的所有事件(可根据需求调整timeMin/timeMax)
events_response = service.events().list(
    calendarId='primary',  # 替换成你的目标日历ID,primary是主日历
    timeMin='2024-01-01T00:00:00Z',
    singleEvents=True,
    orderBy='startTime'
).execute()
all_events = events_response.get('items', [])

# 筛选Teams创建的事件(用creator邮箱判断)
teams_only_events = [
    event for event in all_events
    if 'creator' in event and event['creator'].get('email') == 'teams-calendar@microsoft.com'
]

# 或者用source字段筛选
# teams_only_events = [
#     event for event in all_events
#     if 'source' in event and event['source'].get('title') == 'Microsoft Teams'
# ]

3. 注意事项

  • 权限要够:API凭据需要https://www.googleapis.com/auth/calendar.readonly权限(只读足够,要是需要修改就用更高权限)
  • 分页处理:如果日历里事件很多,记得用pageToken分页拉取,避免单次请求数据量过大超时
  • 特殊情况:如果遇到少数creator邮箱不一样的Teams事件,可以结合source字段一起过滤,提高准确率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:05:20