このドキュメントでは、
spreadsheets.batchUpdate
メソッドを
spreadsheetsリソースで使用する際の基本について説明します。
スプレッドシートには、セルに含まれる値データ以外にも、次のような さまざまな種類のデータが含まれています。
- サイズ
- セルの書式と罫線
- 名前付き範囲
- 保護されている範囲
- 条件付き書式
これらは、スプレッドシートの表示と動作を制御する多くの種類のデータの一部です。spreadsheets.batchUpdate
メソッドを使用すると、これらのスプレッドシートの詳細を更新できます。変更はバッチでグループ化されるため、1
つのリクエストが失敗した場合、他の(依存する可能性のある)変更は書き込まれません。
セル値データを読み書きする必要がある場合は、
spreadsheets.values
リソースをセル値の読み書きで説明されているように使用することもできます。
オペレーション タイプ
spreadsheets.batchUpdate メソッドでサポートされている特定のオペレーションは、次のオペレーション タイプに分類できます。
| カテゴリ | 説明 |
|---|---|
| 追加 (複製 ) | 新しいオブジェクトを追加します(複製リクエストのように、古いオブジェクトに基づいて追加されることもあります)。 |
| 更新 (設定 ) | オブジェクトの特定のプロパティを更新します。通常、古いプロパティはそのまま残ります(設定リクエストでは、以前のデータが上書きされます)。 |
| 削除 | オブジェクトを削除します。 |
次のセクションでは、これらのカテゴリを使用して、特定のオペレーションの動作について説明します。
バッチ アップデート オペレーション
spreadsheets.batchUpdate メソッドは、1 つ以上の
Request
オブジェクトを受け取ります。各オブジェクトは、実行するリクエストの種類を 1 つ指定します。次の表に、リソース オブジェクトとオペレーション タイプごとにグループ化されたバッチ アップデート リクエストのタイプを示します。
データ操作リクエスト
データを操作するためのユーザー操作を模倣するリクエストもあります。
| リクエスト | 説明 |
|---|---|
AutoFillRequest |
既存のデータに基づいて、より多くのデータを自動的に入力します。 |
CopyPasteRequest |
ある領域からデータをコピーして別の領域に貼り付けます。 |
CutPasteRequest |
ある領域からデータを切り取って別の領域に貼り付けます。 |
DeleteDuplicatesRequest |
セル範囲の指定された列に重複する値を含む行を削除します。 |
FindReplaceRequest |
一部のテキストを検索して、別のテキストに置き換えます。 |
PasteDataRequest |
データを(HTML または区切り文字付き)シートに貼り付けます。 |
RandomizeRangeRequest |
範囲内の行の順序をランダム化します。 |
SortRangeRequest |
範囲内のデータを並べ替えます。 |
TextToColumnsRequest |
テキストの列を複数のテキスト列に変換します。 |
TrimWhitespaceRequest |
セルから空白文字(スペース、タブ、改行など)を削除します。 |
Google スプレッドシートのセルと行の上限について詳しくは、Google ドライブに 保存できるファイルをご覧ください。
フィールド マスクを使用して特定のフィールドを更新する
多くの更新リクエストには FieldMaskが必要です。 フィールド マスクは、オブジェクト内のどのフィールドを更新するかを示すために使用されるフィールドのカンマ区切りリストです。他のフィールドは変更されません。フィールド マスクを使用すると、リクエストで指定されていないフィールドが誤って上書きされるのを防ぐことができます。
フィールド マスクの詳細については、フィールド マスクを使用して更新するをご覧ください。
次のコードサンプルは、
UpdateSpreadsheetPropertiesRequest
を使用してスプレッドシートのタイトルのみを更新する方法を示しています。
リクエスト
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
リクエストの本文
{
"requests": [{
"updateSpreadsheetProperties": {
"properties": {"title": "TITLE"},
"fields": "title"
}
}]
}TITLE は、スプレッドシートの新しいタイトルに置き換えます。
バッチ アップデート レスポンス
スプレッドシートを更新する際に、一部のリクエストでレスポンスが返されることがあります。 これらは配列で返され、各レスポンスは対応するリクエストと同じインデックスを占有します。レスポンスがないリクエストもあり、その場合はレスポンスが空になります。
通常、「追加」リクエストには、追加されたオブジェクトの ID などの情報を返すレスポンスがあります。サポートされているレスポンスの一覧については、
Responsesをご覧ください。
コードサンプル: スプレッドシートのバッチ アップデート
次のコードサンプルは、次の操作を行う方法を示しています。
title変数を使用して、スプレッドシートのタイトルを更新します。find変数とreplacement変数を使用して、スプレッドシート内のセル値を検索して置換します。