ショコラ
PHP Google_Service_Sheetsで行を削除するには?
やりたい事は、元のシートをコピーしてそこに値を書き込み印刷します。
その途中。
もっさん先輩
ひとまず、スプレッドシートを取得する
$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);リクエストを作って実行です。startIndex は startRowIndex とちがうようで、0からスタートです。また、endIndexがないとその後の全行が削除されます。
$requests = [
  new \Google_Service_Sheets_Request([
    'deleteDimension' => [
      'range' => [
        'sheetId'    => $sheet_id,
        'dimension'  => 'ROWS',
        'startIndex' => $i,
        'endIndex'   => $i+1,
      ],
    ]
  ]),
  new \Google_Service_Sheets_Request([
    'deleteDimension' => [
      'range' => [
        'sheetId'    => $sheet_id,
        'dimension'  => 'ROWS',
        'startIndex' => $i,
        'endIndex'   => $i+1,
      ],
    ],
  ]),
];
$request = new \Google_Service_Sheets_BatchUpdateSpreadsheetRequest(['requests' => $requests]);
$result = $service->spreadsheets->batchUpdate($google_sheet_id,$request);以上