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

时间:2017-03-19 12:00:02

标签: php json google-sheets httprequest google-spreadsheet-api

我正在尝试创建一个包含4张和某种格式的电子表格。我阅读了Google的文档并知道我们可以使用方法spreadsheets.create来执行此操作。我做了一个json请求主体来测试这个API,它工作,但我不知道如何在PHP中发送这个json。 这是我的json字符串,您可以在Google Spreadsheet 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": [
            {}
          ]
        }
      ]
    }
  ]
}

请有人帮助我^^

1 个答案:

答案 0 :(得分:0)

我已经完成了它。 首先只创建一个空白电子表格。 然后解码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);