メインコンテンツへスキップ
A1形式のセル範囲ではなく、列名のある行やシートのタブを操作する場合は、Google Spreadsheetツールを使います。Google OAuthで接続し、token設定にトークンを指定します。セル範囲の読み書きにはGoogle Sheetsの範囲ツールを使います。

行またはタブの操作を選ぶ

sheet_idはスプレッドシートID、sheet_titleはタブ名です。7つのツールすべてでtoken設定を使います。GET_ROWSのフィルターにはcolumn、EQUALやCONTAINSなど大文字のoperator、valueを指定します。行はすべてのフィルターに一致する必要があります。フィルターはシート取得後に適用されます。GET_ROWSは一致した行オブジェクトの配列をresultに返します。

行データを追加する

プレースホルダーを設定済みのトークンとスプレッドシートIDに置き換えます。rowsは、列名をキーにしたオブジェクトのJSON配列です。成功すると、追加された行がresult.rowsに返ります。SheetNotFoundErrorが出る場合は、タブ名と接続アカウントのアクセス権を確認します。

見出し付きのタブを作成する

GOOGLE_SPREADSHEET_ADD_SHEETを使うと、タブと見出し行をまとめて作成できます。
新しいタブのIDと名前はresult.sheet.idとresult.sheet.nameに入ります。GOOGLE_SPREADSHEET_REMOVE_SHEETには同じsheet_idとsheet_titleを指定します。タブを削除すると、その内容も削除されます。

一意のキーで行を更新する

GOOGLE_SPREADSHEET_UPDATE_ROWとGOOGLE_SPREADSHEET_UPDATE_ROWSは、unique_keyで指定した列を使って既存の行を照合します。各行オブジェクトにそのキーを含めてください。それ以外のキーの値で、一致した行のセルが上書きされます。UPDATE_ROWは更新した行をresult.rowに返し、一致する行がなければRowNotFoundErrorになります。UPDATE_ROWSは一致しないオブジェクトを読み飛ばし、更新した行だけをresult.rowsに返します。 次のフローは、StatusがInactiveの行を読み取り、従業員ごとの更新内容を作って書き戻します。
EmployeesタブにはEmployee ID、Status、End Dateの見出しが必要です。Pythonステップが作ったリストはsteps.build_updates.result.data.rows、更新された行はsteps.apply_updates.result.rowsで参照できます。Inactiveの行がなければリストは空になり、何も変更されません。

タブ間で行を移行する

GOOGLE_SPREADSHEET_GET_ROWSで移行元を読み取り、行オブジェクトを変換してから、GOOGLE_SPREADSHEET_ADD_ROWSで書き込みます。移行元と移行先は、同じスプレッドシート内のタブでも別のスプレッドシートでもかまいません。
Pythonステップは名前かメールアドレスが空の行を除外し、StatusにActiveを設定します。MigratedDataタブは事前に作成しておきます。たとえばGOOGLE_SPREADSHEET_ADD_SHEETで見出し["Name","Email","Department","Status"]を指定します。書き込まれた行はsteps.write_destination.result.rowsで参照できます。 GET_ROWSはフィルター適用前にタブ全体を取得するため、大きなシートの一部だけが必要な場合は範囲ツールで範囲を指定して読み取ります。一括更新の前にコピーを取り、一致しなかった行や空の結果がないか確認してください。