【问题标题】:Invalid Values error when attempting to use 'append' in google sheets API尝试在谷歌表格 API 中使用“附加”时出现无效值错误
【发布时间】:2019-02-09 21:01:06
【问题描述】:

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

    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 values {\n string_value: "统治结构"\n }\n values {\n null_value: NULL_VALUE\n }\n}\n',

【问题讨论】:

  • 我的回答是否向您展示了您想要的结果?你能告诉我吗?这对我学习也很有用。如果这可行,与您有相同问题的其他人也可以将您的问题作为可以解决的问题。如果您对我的回答有疑问,我深表歉意。到时候,可以问一下你现在的情况吗?我想学习解决你的问题。

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


【解决方案1】:

这个修改怎么样?

修改点:

  • 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方法的范围。

参考:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多