创建对 Google 电子表格 API 的请求时出错:找不到字段 'values'
Error in creating request to Google Spreadsheet API: field 'values' could not be found
这是我的代码:
var sheets = google.sheets('v4');
sheets.spreadsheets.values.update(
{
auth: auth,
spreadsheetId: '1tsyo5XFh1CzlF6Xd_q1ciUQY9KDo_rWYGdrwlANBduc',
range: 'Sheet1!A1:D5',
values: [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", ".50", "4", "3/1/2016"],
["Door", "", "2", "3/15/2016"],
["Engine", "0", "1", "30/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
],
},
function (err, response) {
if (err) {
console.log(err);
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
console.log(response);
});
我正在通过示例从
Google Doc
但我收到错误消息:
{
[错误:收到无效的 JSON 负载。未知名称 "values": 无法绑定查询参数。在请求消息中找不到字段 'values'。]
代码:400,
错误:
[ { message: 'Invalid JSON payload received. Unknown name "values": Cannot bind query parameter. Field \'values\' could not be found in request message.',
domain: 'global',
reason: 'badRequest' } ] }
其余代码来自同一文档,我用它来读取电子表格,一切正常。
好的,我按照以下方式计算出来:http://google.github.io/google-api-nodejs-client/7.0.0/sheets.html
您需要将代码修改为如下内容:
var sheets = google.sheets('v4');
sheets.spreadsheets.values.update(
{
auth: auth,
spreadsheetId: '1tsyo5XFh1CzlF6Xd_q1ciUQY9KDo_rWYGdrwlANBduc',
range: 'Sheet1!A1:D5',
valueInputOption: 'USER_ENTERED',
resource: {
values: [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", ".50", "4", "3/1/2016"],
["Door", "", "2", "3/15/2016"],
["Engine", "0", "1", "30/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
]},
},
function (err, response) {
if (err) {
console.log(err);
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
console.log(response);
});
如果您希望将值按原样输入电子表格(而不是像格式化一样如果您将它们输入 GUI,它们就会是)。
这是我的代码:
var sheets = google.sheets('v4');
sheets.spreadsheets.values.update(
{
auth: auth,
spreadsheetId: '1tsyo5XFh1CzlF6Xd_q1ciUQY9KDo_rWYGdrwlANBduc',
range: 'Sheet1!A1:D5',
values: [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", ".50", "4", "3/1/2016"],
["Door", "", "2", "3/15/2016"],
["Engine", "0", "1", "30/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
],
},
function (err, response) {
if (err) {
console.log(err);
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
console.log(response);
});
我正在通过示例从 Google Doc
但我收到错误消息:
{ [错误:收到无效的 JSON 负载。未知名称 "values": 无法绑定查询参数。在请求消息中找不到字段 'values'。] 代码:400, 错误:
[ { message: 'Invalid JSON payload received. Unknown name "values": Cannot bind query parameter. Field \'values\' could not be found in request message.',
domain: 'global',
reason: 'badRequest' } ] }
其余代码来自同一文档,我用它来读取电子表格,一切正常。
好的,我按照以下方式计算出来:http://google.github.io/google-api-nodejs-client/7.0.0/sheets.html
您需要将代码修改为如下内容:
var sheets = google.sheets('v4');
sheets.spreadsheets.values.update(
{
auth: auth,
spreadsheetId: '1tsyo5XFh1CzlF6Xd_q1ciUQY9KDo_rWYGdrwlANBduc',
range: 'Sheet1!A1:D5',
valueInputOption: 'USER_ENTERED',
resource: {
values: [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", ".50", "4", "3/1/2016"],
["Door", "", "2", "3/15/2016"],
["Engine", "0", "1", "30/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
]},
},
function (err, response) {
if (err) {
console.log(err);
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
console.log(response);
});
如果您希望将值按原样输入电子表格(而不是像格式化一样如果您将它们输入 GUI,它们就会是)。