尝试在Google Sheets API中使用“附加”时出现无效值错误

时间:2019-02-09 21:01:07

标签: node.js google-sheets google-sheets-api

我正在尝试使用以下代码将信息附加到电子表格中。

    let values = [
        [
            [tweet.user.name, tweet.user.client_id]
        ]
    ];

    let resource = {
        values,
    };

    const sheets = google.sheets({version: 'v4', oAuth2Client});

    sheets.spreadsheets.values.append({
    auth: oAuth2Client,
    spreadsheetId: '***redacted***',
    range: 'A:C',
    valueInputOption: 'RAW',
    resource,
}, (err, result) => {
    if (err) {
    // Handle error.
    console.log(err);
    } else {
    console.log(`${result.updates.updatedCells} cells appended.`);
    }
});

但是我收到此错误。我认为这是某种格式问题,但我不知道它可能是什么。

'无效值[2] [0]:list_value {\ n值{\ n string_value:“统治的结构” \ n} \ n值{\ n null_value:NULL_VALUE \ n} \ n} \ n',

1 个答案:

答案 0 :(得分:0)

此修改如何?

修改点:

  • values必须是二维数组。
  • 可以通过result.data检索结果。
  • {\n values {\n string_value: "Structure of Reign"\n }\n values {\n null_value: NULL_VALUE\n }\n}\n表示tweet.user.client_id未定义,而tweet.user.name的值为Structure of Reign
    • 对此,请确认tweet.user.client_id,因为我不确定您的情况。

修改后的脚本:

请进行如下修改。

从:
let values = [[[tweet.user.name, tweet.user.client_id]]];
至:
let values = [[tweet.user.name, tweet.user.client_id]];

从:
console.log(`${result.updates.updatedCells} cells appended.`);
至:
console.log(`${result.data.updates.updatedCells} cells appended.`);

注意:

  • 此修改假设您可以使用Sheets API。
  • 即使修改了其他错误时,也请确认以下几点。
    1. 将“ googleapis”更新为最新版本。
    2. 是否在API控制台上启用了Sheets API。
    3. 访问令牌是否具有使用values.append方法的范围。

参考:

如果此修改不起作用,我深表歉意。