如何从变量更新电子表格值?

时间:2019-06-15 09:30:02

标签: javascript google-api google-api-js-client

我创建了一个带有三个参数的函数(客户端,我在表中查找的值,要更新的新值),但是直到知道我不知道如何使用确定值。

到目前为止,我成功地在表中查找了值,但是我无法使用函数参数中的值更新最终单元格。这样做的方式是什么?

async function modif(client, id1, id2)
{   
    const gsapi = google.sheets({version:'v4',auth: client });

    for (i = 0; i < 50; i++) 
    {

        const opt1 = {spreadsheetId: 'XXX', range: 'Sheet1!A' + (3+i)};
        let data1 = await gsapi.spreadsheets.values.get(opt1);

        if (parseInt(id1) === parseInt(data1.data.values))
        {                                   
            const opt2 = {
            spreadsheetId: 'xxx', 
            range: 'Sheet1!B' + (3+i), 
            valueInputOption: 'USER_ENTERED', 
            resource:{values : id2}
            };

            let res = await gsapi.spreadsheets.values.update(opt2);
        console.log("modifications OK");
            return;
        }
    }
}

我应该具有一个更新的单元格,但是相反,我收到一条错误消息,提示:“ data.values”处的值无效。行资源错误:{values:id2}

有人知道如何解决这个小错误(我想),昨天我花了2个小时来解决这个错误:(

非常感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

我终于发现了问题所在……当我查看这里的文档:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values时,我发现参数“ values”是一个数组数组...

结果,我只需要将语法从:resource:{values : id2}更改为:resource:{values : [[id2]]}

干杯