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

如何通过Google Calendar API设置指定的Google Meet conferenceId?

问题原因与解决方法

为什么指定的conferenceId不生效?

你之前的写法存在核心错误:

  • 创建事件时,conferenceData.createRequest是用来触发Google自动生成新会议的指令,这时候你手动设置的conferenceId会被完全忽略,Google会强制生成随机ID。
  • 更新事件时,你依然使用了createRequest,这会触发系统重新生成会议ID,而非替换成你指定的自定义ID。

Google Calendar API不支持通过createRequest指定自定义Meet ID,必须直接构造完整的conferenceData结构,跳过createRequest环节。


正确创建带自定义Meet ID的事件

不需要createRequest,直接定义会议的完整信息:

function createEventWithCustomConferenceId() {
  const calendarId = "primary";
  const conferenceId = "qsz-pkbc-tnx"; // 你的自定义Meet ID
  const meetLink = `https://meet.google.com/${conferenceId}`;

  const event = {
    summary: '自定义Meet ID测试事件',
    location: 'Online',
    description: '通过API设置自定义Meet ID的示例',
    start: {
      dateTime: '2023-03-20T10:00:00',
      timeZone: 'America/New_York'
    },
    end: {
      dateTime: '2023-03-20T11:00:00',
      timeZone: 'America/New_York'
    },
    conferenceData: {
      conferenceId: conferenceId,
      conferenceSolutionKey: {
        type: 'hangoutsMeet'
      },
      entryPoints: [
        {
          entryPointType: 'video',
          uri: meetLink,
          label: meetLink
        }
      ],
      status: {
        statusCode: 'success'
      }
    }
  };

  const response = Calendar.Events.insert(event, calendarId, {
    conferenceDataVersion: 1 // 必须设置该参数
  });

  Logger.log("事件创建完成:%s", response.htmlLink);
}

正确更新已有事件的Meet ID

直接修改conferenceData内容,不要使用createRequest:

function updateEventConferenceId() {
  const eventId = "opb4l88pk0v7ap6fejt6bcg7dg";
  const newConferenceId = "xon-qzov-sjy";
  const newMeetLink = `https://meet.google.com/${newConferenceId}`;

  // 获取现有事件
  const event = Calendar.Events.get('primary', eventId);

  // 替换会议信息
  event.conferenceData = {
    conferenceId: newConferenceId,
    conferenceSolutionKey: {
      type: 'hangoutsMeet'
    },
    entryPoints: [
      {
        entryPointType: 'video',
        uri: newMeetLink,
        label: newMeetLink
      }
    ],
    status: {
      statusCode: 'success'
    }
  };

  // 更新事件,必须携带conferenceDataVersion=1
  const updatedEvent = Calendar.Events.update(event, 'primary', eventId, {
    conferenceDataVersion: 1
  });

  Logger.log("会议ID已更新:%s", updatedEvent.htmlLink);
}

注意事项

  • 自定义Meet ID必须符合Google格式:3组由字母/数字组成的字符串(如abc-defg-hij),且未被他人占用。
  • 无论创建还是更新事件,请求参数里必须加上conferenceDataVersion: 1,否则会议信息不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:32:46