使用Node.js调用Google Sheets API更新单元格时遇JSON payload错误
解决Google Sheets API更新单元格时的"Invalid JSON payload"错误
- 错误根源是参数名拼写错误:代码里的
responce是拼写失误,Google Sheets API Node.js客户端中,传递写入数据的正确参数名是resource。 - 另外你已经通过
google.sheets({version: "v4", auth: client})初始化了带授权的客户端,update方法里无需重复传入auth参数。
修正后的代码:
async function setSquare(){ let array = [['2']]; const client = await auth.getClient(); const googleSheets = google.sheets({version: "v4", auth: client}); let res = await googleSheets.spreadsheets.values.update({ spreadsheetId, range: "Sheet1!B1", valueInputOption: "USER_ENTERED", resource: {values: array} // 修正参数名拼写 }); }
补充说明:
- 数组为空时API不修改单元格是预期行为,因为没有有效数据可写入。
valueInputOption: "USER_ENTERED"会按照手动输入的规则解析数据,比如数字会被识别为数值类型而非字符串。
内容的提问来源于stack exchange,提问作者Yuval52
相关产品推荐
相关产品推荐

