PHP Google_Service_Sheetsでシートファイルを作成するには?

ショコラ
ショコラ

PHP Google_Service_Sheetsでシートファイルを作成するには?

JSONファイルを作成して認証しています。

もっさん先輩
もっさん先輩

ひとまず、スプレッドシートをするサンプル

$google_credentials_json = "あのグーグルのJSON形式の文字列";
$google_sheet_id = "シートID(URLのところ)";

$client = new \Google_Client();
$client->addScope( \Google_Service_Sheets::SPREADSHEETS );

// 認証
$auth = tempnam(sys_get_temp_dir(),'auth-');
file_put_contents($auth,$google_credentials_json);
$client->setAuthConfig($auth);
unlink($auth);

$service = new \Google_Service_Sheets($client);

$spreadsheet = $service->spreadsheets->get($google_sheet_id);

スプレッドシートのファイルを作成するには↓のようにする。

$newSpreadsheet = new \Google_Service_Sheets_Spreadsheet([
  'properties' => [
    'title' => "ようするにファイル名",
  ]
]);
$newSpreadsheet = $service->spreadsheets->create( $newSpreadsheet );
$newSpreadsheetId = $newSpreadsheet->spreadsheetId;

因みにシート名を変更するには↓のようにする。

$sheet_id = $newSpreadsheet->getSheets()[0]->properties->sheetId

$batchUpdateRequest = new \Google_Service_Sheets_BatchUpdateSpreadsheetRequest([
  'requests' => [
    // シート名を変更する
    [
      'updateSheetProperties' => [
        'properties' => [
          'sheetId' => $sheet_id, // シートID
          'title' => 'シート名'
        ],
         'fields' => 'title',
      ],
    ],
  ]
]);
$service->spreadsheets->batchUpdate($newSpreadsheetId,$batchUpdateRequest);

以上

関連記事

Scroll to Top