node.js Google 工作表 API 不允许发布新值
node.js Google Sheets API not allowing posting new values
我一直在从事一个 node.js 项目,该项目根据人名和日期提取单元格的位置。我可以很容易地解决这个问题,但是当需要 post 进入单元格时,.update 函数只有 returns 400 响应,表示请求的格式错误。我一直在搜索所需形式的文档,并尝试在他们的网站上使用 API 控制台,但无济于事。这是我的代码示例
active = [<name>, <value>, <comment>, <var>, <column>, <row>];
var request1 = {
spreadsheetId: <id> ,
range: active[5] + active[4],
auth: auth,
valueInputOption: "RAW",
resource: {
"range": active[5] + active[4],
"values": [active[1]]
}
}
sheets.spreadsheets.values.update(request1, function(err, response){
if (err) console.log(err);
else return;
但是,这个returns下面的回复,
{ message: 'Invalid value at \'data.values[0]\' (type.googleapis.com/google.protobuf.ListValue), " "',
domain: 'global',
reason: 'badRequest' }
我没能搞清楚这个请求的哪一部分 'bad'。 API 没有给出任何关于为什么不接受我的请求的线索。我有适当的范围和身份验证,我的 get 请求工作得很好。消息中的 URL 链接到 404 页面。
如有任何帮助,我们将不胜感激。提前致谢。
values
请求体的 sheets.spreadsheets.values.update
需要是二维数组。从你的问题来看, active[1]
似乎是一个字符串。那么修改如下呢?
发件人:
"values": [active[1]]
收件人:
"values": [[active[1]]]
参考:
注:
- 此答案假定您可以使用表格 API。
- 如果这不起作用,我可以问你
range: active[5] + active[4],
的值吗?
我一直在从事一个 node.js 项目,该项目根据人名和日期提取单元格的位置。我可以很容易地解决这个问题,但是当需要 post 进入单元格时,.update 函数只有 returns 400 响应,表示请求的格式错误。我一直在搜索所需形式的文档,并尝试在他们的网站上使用 API 控制台,但无济于事。这是我的代码示例
active = [<name>, <value>, <comment>, <var>, <column>, <row>];
var request1 = {
spreadsheetId: <id> ,
range: active[5] + active[4],
auth: auth,
valueInputOption: "RAW",
resource: {
"range": active[5] + active[4],
"values": [active[1]]
}
}
sheets.spreadsheets.values.update(request1, function(err, response){
if (err) console.log(err);
else return;
但是,这个returns下面的回复,
{ message: 'Invalid value at \'data.values[0]\' (type.googleapis.com/google.protobuf.ListValue), " "',
domain: 'global',
reason: 'badRequest' }
我没能搞清楚这个请求的哪一部分 'bad'。 API 没有给出任何关于为什么不接受我的请求的线索。我有适当的范围和身份验证,我的 get 请求工作得很好。消息中的 URL 链接到 404 页面。
如有任何帮助,我们将不胜感激。提前致谢。
values
请求体的 sheets.spreadsheets.values.update
需要是二维数组。从你的问题来看, active[1]
似乎是一个字符串。那么修改如下呢?
发件人:
"values": [active[1]]
收件人:
"values": [[active[1]]]
参考:
注:
- 此答案假定您可以使用表格 API。
- 如果这不起作用,我可以问你
range: active[5] + active[4],
的值吗?