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

如何通过API向Google Calendar添加Zoom Meeting ID或顶级链接

解决Google Calendar API添加Zoom会议信息的问题

我之前做过Zoom和Google Calendar的集成开发,刚好碰到过一样的问题!其实Google Calendar是通过会议解决方案(Conference Solutions) API来支持第三方会议(比如Zoom、Teams)的,你之前没找到是因为这个功能藏在conferenceData字段里,不是单独的Meeting ID字段。下面给你一步步说怎么实现:

核心原理

Google Calendar事件里的第三方会议信息都存在conferenceData对象中,Zoom是Google预定义的会议提供商,不需要自己额外配置OAuth,直接调用API就能生成并关联Zoom会议。

具体实现步骤

1. 调用API时必须指定conferenceDataVersion参数

这个是关键!不管是创建还是更新事件,都要在请求参数里加上conferenceDataVersion=1,否则API会忽略conferenceData字段,这是很多人踩的坑。

2. 构造带Zoom会议的事件请求体

创建事件时,在请求体里加入conferenceData字段,指定创建Zoom会议的请求:

from googleapiclient.discovery import build

# 假设你已经有了授权后的service对象
service = build('calendar', 'v3', credentials=creds)

event_body = {
    'summary': '团队同步会议',
    'start': {
        'dateTime': '2024-05-20T10:00:00+08:00',
        'timeZone': 'Asia/Shanghai',
    },
    'end': {
        'dateTime': '2024-05-20T11:00:00+08:00',
        'timeZone': 'Asia/Shanghai',
    },
    'conferenceData': {
        'createRequest': {
            'conferenceSolutionKey': {
                'type': 'zoom'  # 指定使用Zoom作为会议提供商
            },
            'requestId': 'random-unique-string-123'  # 唯一字符串,防止重复创建
        }
    }
}

# 创建事件,必须加conferenceDataVersion参数
event = service.events().insert(
    calendarId='primary',
    body=event_body,
    conferenceDataVersion=1,
    sendUpdates='all'  # 可选:给参会者发送带会议链接的邀请
).execute()

3. 获取生成的Zoom会议信息

事件创建成功后,返回的event对象里的conferenceData.entryPoints会包含Zoom的会议链接、Meeting ID、电话接入号等信息,你可以直接提取:

zoom_link = next(ep['uri'] for ep in event['conferenceData']['entryPoints'] if ep['entryPointType'] == 'video')
meeting_id = next(ep['label'] for ep in event['conferenceData']['entryPoints'] if ep['entryPointType'] == 'video').split(' ')[-1]

4. 更新已有事件添加Zoom会议

如果是给已存在的Calendar事件添加Zoom会议,同样使用events().update方法,传入conferenceData字段并指定conferenceDataVersion=1即可。

注意事项

  • 确保你的Google Cloud项目已经启用了Google Calendar API(你已经实现CRUD,应该已经完成这一步)。
  • requestId必须是唯一的,如果你重复使用同一个requestId创建相同事件,API会返回已存在的会议,不会重复创建。
  • 如果你需要自定义Zoom会议的设置(比如开启等候室、录制等),可以通过Zoom API先创建会议,然后把会议链接和ID手动填入conferenceData的entryPoints,而不是用createRequest,不过这种方式需要同时处理Zoom的OAuth授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:47:29