"Invalid JSON payload received." 创建新 sheet

"Invalid JSON payload received." when creating a new sheet

我刚开始使用表格 API,我正在按照此设置创建新的 sheet: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", ".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)"]
  ],
}

但是,当我 post 这样做时,我收到错误 "Invalid JSON payload received. Unknown name "range" at 'spreadsheet': Cannot find field."。这里可能有什么问题?

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

作为示例,创建Spreadsheet的请求体如下。在此示例请求正文中,["Item", "Cost", "Stocked", "Ship Date"], ["Wheel", ".50", "4", "3/1/2016"] 已从您使用的 the document 中使用。

示例请求正文:

{
  "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"
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

注:

  • 当此请求正文用于spreadsheets.create时,将创建一个文件名为sampleSpreadsheet 的Spreadsheet。 sheet 在 "A1:D2" 处的值为 ["Item", "Cost", "Stocked", "Ship Date"], ["Wheel", ".50", "4", "3/1/2016"]

参考文献: