如何通过 Google 电子表格 API 在 PHP 中创建带有 json 字符串的电子表格

How can I create a spreadsheet with a json string via Google Spreadsheet API in PHP

我正在尝试创建一个包含 4 个工作表和某种格式的电子表格。看了Google的文档,知道可以用方法spreadsheets.create来做。我创建了一个 json 请求正文来测试这个 API,它可以工作,但我不知道如何在 PHP 中发送这个 json。 这是我的 json 字符串,你可以在 Google 电子表格 API 文档中测试它: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create

{
  "properties": {
    "title": "Dự toán",
    "defaultFormat": {
      "verticalAlignment": "MIDDLE",
      "wrapStrategy": "WRAP",
      "textFormat": {
        "fontFamily": "Arial",
        "fontSize": 12
      }
    }
  },
  "sheets": [
    {
      "properties": {
        "sheetId": 0,
        "index": 0,
        "title": "CP Xây lắp"
      },
      "merges": [
        {
          "sheetId": 0,
          "startColumnIndex": 0,
          "endColumnIndex": 5,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        {
          "sheetId": 0,
          "startColumnIndex": 0,
          "endColumnIndex": 5,
          "startRowIndex": 2,
          "endRowIndex": 3
        },
        {
          "sheetId": 0,
          "startColumnIndex": 0,
          "endColumnIndex": 5,
          "startRowIndex": 3,
          "endRowIndex": 4
        },
        {
          "sheetId": 0,
          "startColumnIndex": 0,
          "endColumnIndex": 5,
          "startRowIndex": 4,
          "endRowIndex": 5
        }
      ],
      "data": [
        {
          "startRow": 0,
          "startColumn": 0,
          "rowData": [
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "BẢNG TỔNG HỢP CHI PHÍ XÂY LẮP"
                  },
                  "userEnteredFormat": {
                    "horizontalAlignment": "CENTER"
                  }
                }
              ]
            },
            {
              "values": [
                {}
              ]
            },
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "CÔNG TRÌNH: "
                  },
                  "userEnteredFormat": {
                    "horizontalAlignment": "CENTER",
                    "textFormat": {
                      "bold": true
                    }
                  }
                }
              ]
            },
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "HẠNG MỤC: "
                  },
                  "userEnteredFormat": {
                    "horizontalAlignment": "CENTER",
                    "textFormat": {
                      "bold": true
                    }
                  }
                }
              ]
            },
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "ĐỊA ĐIỂM: "
                  },
                  "userEnteredFormat": {
                    "horizontalAlignment": "CENTER",
                    "textFormat": {
                      "bold": true
                    }
                  }
                }
              ]
            }
          ],
          "rowMetadata": [
            {}
          ],
          "columnMetadata": [
            {}
          ]
        }
      ]
    }
  ]
}

有人能帮帮我吗^^

我已经完成了。 首先创建一个空白电子表格。 然后解码 json 请求字符串。我们可以按照这个文档创建 json 请求:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

然后我们使用$service->spreadsheets->batchUpdate发送请求。

$requests = json_decode($json_request_string);

$requestBody = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
$requestBody->setRequests($requests);

$response = $service->spreadsheets->batchUpdate($spreadsheetId, $requestBody);