Google Sheets API を使用すると、シートの作成、クリア、コピー、削除を行うことができます。また、シートのプロパティを制御することもできます。このページの例では、Sheets API を使用して一般的なスプレッドシート操作を行う方法を示します。
これらの例は、言語に依存しない HTTP リクエストの形式で示されています。Google API クライアント ライブラリを使用してさまざまな言語でバッチ アップデートを実装する方法については、スプレッドシートを更新するをご覧ください。
以下の例では、SPREADSHEET_ID と SHEET_ID
というプレースホルダを使用して、これらの ID をどこで指定するかを示しています。スプレッドシート ID はスプレッドシートの URL で確認できます。シート ID は
spreadsheets.get メソッドを使用して取得できます。範囲は
A1 表記を使用して指定します。範囲の例は
Sheet1!A1:D5 です。
シートを追加する
次の
spreadsheets.batchUpdate
コードサンプルは、
AddSheetRequest
を使用してスプレッドシートにシートを追加し、タイトル、グリッドサイズ、
タブの色を設定する方法を示しています。
レスポンスは
AddSheetResponseで構成されます。これには、作成されたシートのプロパティ(
SHEET_IDなど)を含むオブジェクトが含まれます。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"addSheet": {
"properties": {
"title": "Deposits",
"gridProperties": {
"rowCount": 20,
"columnCount": 12
},
"tabColor": {
"red": 1.0,
"green": 0.3,
"blue": 0.4
}
}
}
}
]
}形式を保持しながらシートのすべての値をクリアする
次の
spreadsheets.batchUpdate
コードサンプルは、
UpdateCellsRequest
を使用して、書式設定を変更せずにシートからすべての値を削除する方法を示しています。
対応する値のない
userEnteredValue フィールド
を指定すると、範囲内の値をクリアするよう指示されます。この設定は他のフィールドでも使用できます。たとえば、
userEnteredFormatの値を変更すると、Sheets API
でサポートされているすべての書式設定がシートから削除されますが、セルの値は変更されません。fields
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}スプレッドシート間でシートをコピーする
次の
spreadsheet.sheets.copyTo
コードサンプルは、SHEET_ID
で指定された単一のシートをスプレッドシート間でコピーする方法を示しています。
リクエストの本文の TARGET_SPREADSHEET_ID 変数は、宛先スプレッドシートを指定します。コピーには、元の値、書式設定、数式、その他のプロパティがすべて保持されます。コピーされたシートのタイトルは「[元のシートのタイトル]
のコピー」に設定されます。
レスポンスは、作成されたシートのプロパティを記述する
SheetProperties
オブジェクトで構成されます。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}シートを削除する
次の
spreadsheets.batchUpdate
コードサンプルは、
DeleteSheetRequest
を使用して、SHEET_IDで指定されたシートを削除する方法を示しています。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}シートデータを読み取る
次の
spreadsheets.getコードサンプルは、シートのプロパティ情報を
スプレッドシートから取得する方法を示しています。指定する値はSHEET_ID
とSPREADSHEET_IDです。このメソッドは、特定のスプレッドシート内のシートのメタデータを特定するために使用されることが多く、追加のオペレーションでこれらのシートをターゲットにできます。fields
クエリ パラメータは、シートのプロパティ データのみを返すように指定します(セルの値データやスプレッドシート全体に関連するデータとは異なります)。
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.propertiesレスポンスは、
Spreadsheet
リソースで構成されます。これには、
Sheet オブジェクトと
SheetProperties
要素が含まれます。特定のレスポンス フィールドがデフォルト値に設定されている場合、レスポンスから省略されます。
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}