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

Node.js集成Google Calendar添加Meet链接遇400错误求助

解决Google Calendar添加conferenceData时的400错误

针对你遇到的问题,从代码里找几个可能的修复点:

  1. requestId需为字符串类型
    Google Calendar API要求requestId是字符串格式,你当前用new Date().getTime()返回的是数字,虽然JS可能自动转换,但明确转成字符串能避免潜在的类型匹配问题:
requestId: new Date().getTime().toString()
  1. 修正reminders里的属性引号问题
    你代码里reminders的overrides数组中,'minutes'带了单引号,虽然JS允许,但统一使用无引号的属性名更规范,也能避免解析异常:
{ method: 'email', minutes: 24 * 60 },
{ method: 'popup', minutes: 10 },
  1. 确认conferenceSolutionKey的type值
    正确的Meet会议类型是hangoutsMeet,googleMeet不是API认可的有效值,保持使用hangoutsMeet即可。

修改后的完整事件对象代码:

const event = {
  summary: 'Coding class',
  location: 'Virtual / Google Meet',
  description: 'Learn how to code with Javascript',
  start: {
    dateTime: new Date().toISOString(),
    timeZone: 'Asia/Calcutta',
  },
  end: {
    dateTime: new Date(new Date().setHours(new Date().getHours() + 1)).toISOString(),
    timeZone: 'Asia/Calcutta',
  },
  reminders: {
    useDefault: false,
    overrides: [
      { method: 'email', minutes: 24 * 60 },
      { method: 'popup', minutes: 10 },
    ],
  },
  conferenceData: {
    createRequest: {
      conferenceSolutionKey: {
        type: 'hangoutsMeet',
      },
      requestId: new Date().getTime().toString()
    }
  },
};

const response = await calendar.events.insert({
  calendarId: 'primary',
  resource: event,
  conferenceDataVersion: 1
});

如果还是报错,建议捕获错误并打印详细信息,比如:

try {
  const response = await calendar.events.insert({
    calendarId: 'primary',
    resource: event,
    conferenceDataVersion: 1
  });
  console.log('Event created:', response.data);
} catch (error) {
  console.error('Error creating event:', error.message);
  if (error.details) {
    console.error('Error details:', error.details);
  }
}

根据返回的具体错误信息,能更精准定位问题(比如权限不足、时间冲突等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:45:11