【发布时间】:2021-01-19 08:29:16
【问题描述】:
我创建了一个带有三个参数的函数(客户端、我在表中查找的值、要更新的新值),但直到知道我不知道如何使用确定的价值。
到目前为止,我成功地在表中查找了值,但我无法使用函数参数中的值更新最终单元格。这样做的方法是什么?
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 个小时却无法解决它:(
非常感谢您的帮助,
【问题讨论】:
-
在我看来像是来自 google.sheets 而不是 javascript 的错误。我将首先在您的函数开始时注销您的参数,以确保您尝试放入电子表格的内容是有效数据
console.log('client', client, 'id1', id1, 'id2', id2) -
我尝试将 id2 替换为“Test”,但不幸的是它也不起作用 :( 返回错误是:错误:“data.values”中的值无效(type.googleapis.com/ google.protobuf.ListValue), "test"。你有什么其他的想法可以解决这个问题吗?
标签: javascript google-api google-api-js-client