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

调用Google Sheets API V4追加数据返回Invalid JSON payload错误

问题原因
  • 端点使用错误:追加工作表数据需要调用专门的values:append接口,你当前使用的普通资源路径不支持POST提交数据新增操作。
  • 请求格式错误:你指定了dataType: jsonp,JSONP仅支持GET请求,所有提交参数会被自动拼接至URL查询参数中,而Google Sheets API要求values、majorDimension这类业务参数必须放在请求体中传递,因此API无法在请求报文中识别到对应字段,直接触发你收到的报错。
  • 权限配置错误:仅使用API key仅拥有公共表格的只读权限,要执行数据追加这类写操作,必须配置OAuth 2.0授权,获取对应表格的编辑权限。
  • 参数格式错误:values字段要求传入二维数组格式,你当前传入的是字符串'32',不符合接口要求。
解决方法

修正后的代码示例如下:

// 注意:执行前需先完成OAuth 2.0授权,获取合法的access_token
$.ajax({
  url: 'https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEETID/values/TAB:append?valueInputOption=USER_ENTERED',
  type: 'POST',
  headers: {
    'Authorization': 'Bearer 你的有效access_token',
    'Content-Type': 'application/json'
  },
  data: JSON.stringify({
    majorDimension: 'ROWS',
    values: [['32']]
  }),
  success: function (data) {
    console.log(data);
  },
  error: function (err) {
    console.error(err);
  }
});

调整要点如下:

  • 替换请求端点为values:append格式,同时在查询参数中新增valueInputOption,可选择USER_ENTERED(按用户输入格式解析内容)或RAW(纯文本格式存储)。
  • 移除dataType: jsonp配置,添加请求头Content-Type: application/json,同时将提交的参数用JSON.stringify()转为JSON字符串放在请求体中。
  • 完成OAuth 2.0授权流程获取access_token,添加到请求头的Authorization字段中,确保授权账号拥有对应表格的编辑权限。
  • 修正values参数格式为二维数组,每一个内层数组对应一行数据,数组内的每个元素对应一个单元格的内容。

内容的提问来源于stack exchange,提问作者Guillermo Oramas R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:36:05