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

React中使用Axios POST请求调用Google Calendar API插入事件时遭遇错误

解决Google Calendar API Axios POST插入事件的错误

我帮你梳理下代码里的几个关键问题,这些应该就是导致请求失败的原因:

主要问题分析

  • 变量定义顺序错误:你在发起Axios请求之后才定义evento变量,这时候请求里引用的evento还是undefined,Google API根本无法识别有效的事件数据。
  • Axios请求参数格式错误:
    • Google Calendar API要求事件资源直接作为POST请求的请求体,不需要包裹在resource字段里;
    • 请求头(比如Authorization)应该作为Axios的第三个配置参数传入,而不是放在请求体中;
    • URL里已经指定了日历ID,请求体里的calendarId字段完全是多余的。

修正后的完整代码

async function inserisciTurni() {
  // 先定义事件数据,确保请求时能拿到有效值
  const evento = {
    "summary": "Titolo prova evento",
    "description": "prova evento",
    "start": {
      "dateTime": "2022-08-28T09:00:00-07:00",
    },
    "end": {
      "dateTime": "2022-08-28T17:00:00-07:00",
    }
  };

  try {
    // 修正Axios参数格式:资源直接作为请求体,headers放在config里
    const result = await axios.post(
      `https://www.googleapis.com/calendar/v3/calendars/${calendarioselezionato}/events`,
      evento, // 直接传evento作为请求体
      {
        headers: {
          authorization: `Bearer ${accessToken}`,
        }
      }
    );
    console.log('事件插入成功:', result.data);
  } catch (error) {
    // 捕获错误并打印详细信息,方便调试
    console.error('插入事件失败:', error.response?.data || error.message);
  }
}

额外优化点

我还加了try/catch块来捕获请求中的错误,这样你能直接看到API返回的具体错误详情(比如权限问题、格式错误等),更方便排查问题。另外用await替代.then()让异步代码的逻辑更线性、易读,也符合async函数的最佳实践。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 16:48:11