当前位置: 首页 > 知识库问答 >
问题:

创建对Google电子表格API的请求时出错:找不到字段“值”

白嘉志
2023-03-14

这是我的代码:

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", "$20.50", "4", "3/1/2016"],
  ["Door", "$15", "2", "3/15/2016"],
  ["Engine", "$100", "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);
});

我从谷歌文档中举例说明

但我得到了一个错误:

{[错误:接收到无效的JSON负载。未知名称“值”:无法绑定查询参数。在请求消息中找不到字段“值”。]代码: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' } ] }

其余的代码来自同一个文档,我正在使用它从电子表格中读取,一切正常。

共有1个答案

贲宏硕
2023-03-14

好吧,我想通了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", "$20.50", "4", "3/1/2016"],
      ["Door", "$15", "2", "3/15/2016"],
      ["Engine", "$100", "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);
});

如果您希望您的值按字面意思输入到电子表格中,您还可以将'RAW'而不是'USER_ENTERED'用于value InputOption属性(而不是格式化为将它们输入GUI)。

 类似资料:
  • 这是我的代码,基本上是从文本。 这成功地在Google电子表格中创建了一个电子表格。我可以在internet浏览器的驱动器主页上看到它。在此之后,当我尝试从另一个电子表格导入工作表时,会发生错误。 出于某种原因,我得到了错误: googleapiclient.errors.HttpError: 这是奇怪的部分,因为电子表格已经创建。我可以从我的互联网浏览器的驱动器主页上看到它。如果我在浏览器中插入

  • 我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?

  • 问题内容: 我正在使用nodejs上的以下脚本编写脚本以从Google电子表格读取数据: 但是在每个获取请求时,我都会收到此错误: 我检查了Google开发人员控制台以启用Google Drive API并启用了它,所以我真的不知道这可能是什么。 问题答案: 首先删除凭据文件(取决于您的设置) 从更改用于从Google Spreadsheets读取单元格的作用域变量 var SCOPES = [‘

  • 我正在使用nodejs上的以下脚本制作一个脚本来从google电子表格中读取数据: 但每次get请求时,我都会遇到以下错误: 我检查了Google开发者控制台以启用Google Drive API,它已经启用,所以我真的不知道它可能是什么。

  • 在此服务器上找不到请求的URL。我们只知道这些。 这是stacktrace 在com.google.api.client.googleapis.json.googleJsonResponseException.404在com.google.api.client.googleapis.json.googleJsonResponseException.from(GoogleJsonResponseEx

  • 我正在尝试使用电子表格示例访问Google电子表格。当我运行示例代码时,它工作正常。我只是更改电子表格Id和范围。它开始给我: 以下是代码: