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

"收到无效的JSON负载."创建新工作表时

苏波涛
2023-03-14

我刚开始使用Sheets API,并按照以下设置创建新的工作表:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create

在此代码中,spreadsheetBody对象为空。为此,我使用了本页上的示例:https://developers.google.com/sheets/api/samples/writing并将此代码添加到spreadsheetBody变量

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "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)"]
  ],
}

但是,当我发布此消息时,在“电子表格”处出现错误“接收到无效的JSON有效负载。未知名称“范围”:找不到字段。“”。这里可能出了什么问题?

共有1个答案

步博涉
2023-03-14

您正在使用的请求体用于spreadsheets.values.update.

作为示例,创建电子表格的请求正文如下。在这个示例请求正文中,从您使用的文档中使用了[“项目”、“成本”、“库存”、“发货日期”]、[“车轮”、“20.5美元”、“4”、“3/1/2016”]

{
  "properties": 
  {
    "title": "sampleSpreadsheet"
  },
  "sheets": 
  [
    {
      "data": 
      [
        {
          "startRow": 0,
          "startColumn": 0,
          "rowData": 
          [
            {
              "values": 
              [
                {
                  "userEnteredValue": 
                  {
                    "stringValue": "Item"
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "stringValue": "Cost"
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "stringValue": "Stocked"
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "stringValue": "Ship Date"
                  }
                }
              ]
            },
            {
              "values": 
              [
                {
                  "userEnteredValue": 
                  {
                    "stringValue": "Wheel"
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "numberValue": 20.5
                  },
                  "userEnteredFormat": 
                  {
                    "numberFormat": 
                    {
                      "type": "NUMBER",
                      "pattern": "$##.00"
                    }
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "numberValue": 4
                  }
                },
                {
                  "userEnteredValue": 
                  {
                    "numberValue": 42372
                  },
                  "userEnteredFormat": 
                  {
                    "numberFormat": 
                    {
                      "type": "DATE",
                      "pattern": "d/m/yyyy"
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
  • 当此请求正文用于电子表格时。创建时,将创建文件名为sampleSpreadsheet的电子表格。该表在“A1:D2”处的值为[“项目”、“成本”、“库存”、“装运日期”]、[“车轮”、“20.50美元”、“4”、“3/1/2016”]
  • 电子表格。创建电子表格。批量更新
 类似资料:
  • 所以我现在正在开发一个PWA。 我现在正在处理推送通知,并且已经能够通过以下非常简单的JSON结构接收后台和前台通知。 最后,我尝试在setBackgroundMessageHandler中硬编码图标和click_action,但没有成功。如果不显示图标,则单击通知时不会发生任何情况。 这纯粹是一个Ionic PWA项目,意在移动浏览器和桌面上运行。我会很感激你给我的每一个小费!谢谢!

  • 我正在编写一个python脚本,它首先在GoogleSheets中创建一个工作表,然后将CSV上传到其中,然后从工作表中生成幻灯片表格。我正在使用sheets API,我可以成功地创建一个新的工作表。然而,当尝试将CSV上传到其中时,我得到一个“无效JSON负载”错误,表示找不到PasteDataRequest。我直接从docs PasteDataRequest docs和batchUpdate

  • addSheet([string $sheetName]); 示例 $config = [ 'path' => './filePath' ]; ​ $excel = new \Vtiful\Kernel\Excel($config); ​ // 此处会自动创建一个工作表 $fileObject = $excel->fileName("tutorial01.xlsx"); ​ $fileO

  • 我正在处理一个Excel工作簿,我希望工作簿为每一行新数据创建一个新工作表。下面的代码确实可以做到这一点,但问题是Excel使用每一行第一列中的文本作为新工作表的名称。我想更改它并使另一列成为新工作表名称的来源。请告知我需要更改哪一行才能完成此操作。谢谢您的帮助!

  • 我正试图在一个excel文件中复制多个文件。该excel文件中的每张工作表将包含一个文件的内容。我需要复制大约6个文件。因此生成的文件应该包含6张。但当我运行代码时,仅为单个文件生成1个工作表。我试着调试它,但无法找出原因。 这是我的密码。

  • 数据 第一页用于数据输入。每行代表一张服务票。每列将表示有关服务事件的数据,如序列号或型号。 期望的结果 对于包含特定字段(列a ~“票证号”)中数据的每一行,Excel将基于模板创建一个新的工作表(服务票证),并将相应行中的数据放入指定的单元格中。 提前感谢您提供的任何帮助。