如何在Python中配置conferenceDataVersion以创建Google Meet会议
解决Google Calendar API创建Meet会议时conferenceDataVersion无效的问题
问题原因
你遇到的核心问题是对conferenceDataVersion参数的位置理解错误:
- 第一种尝试把该参数放进了
event字典(事件主体),但它是API请求的独立参数,不属于事件body的一部分; - 第二种尝试的代码存在语法错误(
version = 1的缩进位置错误),导致参数声明报错。
正确实现代码
class GoogleCalendar: def add_event(self, calendar_id, body, conference_data_version=0): return self.service.events().insert( calendarId=calendar_id, body=body, conferenceDataVersion=conference_data_version ).execute() obj = GoogleCalendar() calendar = 'gmail@gmail.com' # 事件主体仅包含会议相关字段,conferenceDataVersion单独传递 event = { 'summary': 'Тест', 'location': 'Минск', 'description': 'Описание', 'start': { 'date': '2023-05-25', }, 'end': { 'date': '2023-05-26', }, 'conferenceData': { 'createRequest': { 'requestId': 'unique-string-123', # 需使用唯一字符串,避免重复请求冲突 'conferenceSolutionKey': { 'type': 'hangoutsMeet' }, }, } } # 调用时传入conference_data_version=1,触发Meet会议创建 event = obj.add_event(calendar_id=calendar, body=event, conference_data_version=1)
关键注意事项
conferenceDataVersion必须设为1才能生成Meet会议,它是events().insert()方法的顶层参数,不能混入事件body;requestId需保证每次请求唯一,防止重复创建或请求冲突;- 确保你的API授权账号拥有
calendar.events的读写权限。
内容的提问来源于stack exchange,提问作者Maksim
相关产品推荐
相关产品推荐

