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

How to update spreadsheet values from a variable?

我创建了一个具有三个参数的函数(客户端、我在 table 中寻找的值、要更新的新值),但直到知道我不知道如何用确定的值更新单元格。

到目前为止,我已成功在 table 中查找值,但我无法使用函数参数中的值更新最终单元格。有什么方法可以做到这一点?

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 个小时都没能解决:(

非常感谢您的帮助,

我终于找到了问题所在...当我查看此处的文档时:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values,我发现参数 "values" 是一个数组数组...

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

干杯,