如何使用 api 将值写入 google 电子表格行?

How do I write values to a google spreadsheets row with the api?

我想在 node.js 中为我的命令在电子表格的第二行将 A-D 的值设置为 1-4。下面的代码似乎是文档要我做的,但我不断收到以下错误:

“GaxiosError:接收到无效 JSON 负载。未知名称“majorDimension”:无法绑定查询参数。在请求消息中找不到字段 'majorDimension'。 收到无效的 JSON 负载。未知名称“值”:无法绑定查询参数。在请求消息中找不到字段 'values'。"

const {google} = require("googleapis")
const auth = new google.auth.GoogleAuth({
      keyFile: "sheets-credentials.json",
      scopes: "https://www.googleapis.com/auth/spreadsheets",
});
const client = await auth.getClient();
const googleSheets = google.sheets({ version: "v4", auth: client });
const spreadsheetId = "anidthisis";
await googleSheets.spreadsheets.values.append({
      auth,
      spreadsheetId,        
      "range": "Sheet1!A2:D2",
      "majorDimension": "ROWS",
      "values": [
          ["1", "2", "3", "4"],
       ],
});

在你的脚本中,做如下修改怎么样?

修改后的脚本:

发件人:

await googleSheets.spreadsheets.values.append({
      auth,
      spreadsheetId,        
      "range": "Sheet1!A2:D2",
      "majorDimension": "ROWS",
      "values": [
          ["1", "2", "3", "4"],
       ],
});

收件人:

await googleSheets.spreadsheets.values.append({
  auth,
  spreadsheetId,
  range: "Sheet1!A2:D2", // or "Sheet1!A2"
  valueInputOption: "USER_ENTERED",
  requestBody: { majorDimension: "ROWS", values: [["1", "2", "3", "4"]] },
});
  • 在这种情况下,当单元格“A2:D2”不为空时,将附加值。因此,如果即使单元格“A2:D2”不为空,也想将值放入单元格“A2:D2”,如何进行以下修改?

      await googleSheets.spreadsheets.values.update({
        auth,
        spreadsheetId,
        range: "Sheet1!A2:D2", // or "Sheet1!A2"
        valueInputOption: "USER_ENTERED",
        requestBody: { values: [["1", "2", "3", "4"]] },
      });
    

参考文献: