Google Sheetsアクション - クエリを使用したSearch rows(旧バージョン)
注: この記事では、近日中に非推奨となるGoogle Sheets API v3を使用するSearch rowsアクション(旧バージョン)について説明します。 代わりに、この新しいSearch rowsアクションを使用することをお勧めします。
Search rowsアクションを使用すると、検索クエリを使用して特定の行を取得できます。
多くの場合、Update rowアクションと一緒に使用されます。 これにより、まず更新する行を検索してから、それらの行を更新します。
このアクションの使用方法
Googleシートの設定
まず、シート内のカスタムデータを取得するには、次のスクリーンショットに示すように、シートに少なくとも1つのヘッダー行と1つのデータ行が含まれている必要があります。
1つのヘッダー行と1つのデータ行を含むGoogleシートのサンプル
Search rowsアクションの設定
アクションを設定するには、検索対象のスプレッドシートとシートを選択する必要があります。
未設定の検索アクション
スプレッドシートとシートが選択された、設定済みのsearch rowsアクション
検索クエリ構造
このシートで検索すると仮定します:

検索クエリは、APIが処理できるように特定の方法で構造化する必要があります。 たとえば、名前が"Jennifer Avery"で、年齢が30歳を超え、シャツサイズが"M"の参加者を検索する場合は、次のクエリを入力します:
name = "jennifer avery" and age > 30 and shirtsize = "M"クエリを作成する際に注意すべき一般的な事項は次のとおりです:
列名 列名は1語である必要があります。 列名に2語以上含まれている場合でも、スペースを削除するだけです。たとえば、"Shirt size"列ラベルは"shirtsize"になります。
クエリでは大文字と小文字が区別されません 列名または値では、大文字と小文字を区別する必要はありません。
演算子 一般的な演算子は、等しい(=)、より大きい(>)、以上(>=)、より小さい(<)、以下(<=)です。 これらの演算子はすべて、数値および日時タイムスタンプ(たとえば、年齢の比較)に使用できます。 文字列には、等しい(=)のみ使用できます(たとえば、サンプルシートのように名前とシャツサイズを比較する場合)。 この場合、完全一致のみが取得されます。
ANDとOR さまざまなクエリで
ANDとORを使用します。 これらを組み合わせることもでき、かっこを使用して演算順序を示します(つまり、かっこ内を最初に評価します)。 たとえば、age < 35 or age > 50 and name = "jennifer avery"は何も返しませんが、age < 35 or (age > 50 and name = "jennifer avery")は行3と行5を返します。
クエリエラー
クエリの構造が正しくない場合、または演算子が正しくない場合(たとえば、LIKEやCONTAINSなどのサポートされていない演算子を使用しようとした場合)、search rowsアクションは次のエラーメッセージで失敗します。
検索クエリが正しくないため失敗したジョブ
search rowsアクションのテスト
正しく設定されている場合、search rowsアクションは検索条件に一致する行のリストを返します。 この場合、一致する行は1つだけです。
ジョブ詳細ページで表示される、search rowsアクションの入力
ジョブ詳細ページの出力タブで表示される、search rowsアクションから取得された結果
特定のクエリが機能することがわかります。 Salesforceに新しい連絡先が入力されるたびにJennifer Averyという人物を検索する必要はないため、これらのハードコードされた値を変数(Workatoのコンテキストでは、データツリーのピルとも呼ばれます)に置き換える必要があります。 次のシナリオでは、これらのハードコードされた値をピルに置き換えます。
シナリオ例
この場合、Salesforceから新規または更新された連絡先をこのGoogleシートに移動すると仮定します。 
次の画像は、検索でGoogle Sheets内の正しい行を見つけ、Salesforceから受信した新しいデータをGoogle Sheets内の一致するフィールドに送るために作成したレシピとデータマッピングを示しています。
新規または更新されたSalesforce連絡先を選択したGoogleシートに移動するための完成したレシピ

Search rowsアクションを使用して、クエリでシート内の行を検索します。 ここでは、email列がSalesforce ContactのEmailと一致するGoogleシートの行を検索します。

Search rowsアクションの出力からRow IDをこのUpdate rowアクションに渡して、更新する行を示します。 次に、Salesforce new/updated ContactからのデータピルをUpdate rowアクションにマッピングします。
必ず正しいデータツリーからデータを取得してください。 よくある間違いは、Search rowsアクションのピルを使用することです。これにより、Google Sheets行の既存データが取得され、まったく同じ行に書き戻されます。 これは実質的に何もしていないため、あまり役に立ちません。
レシピの実行
トリガーとアクションを設定したので、レシピを実行してみましょう。
テスト用に設定されたレシピ
ここで、Salesforceの連絡先の名前をAnna SharpayからAnna Mccoyに更新します。 メールアドレスが[email protected]であることに注意してください。

レシピがこの変更をどのように取得するかを確認するために、ジョブレポートを見てみましょう:
ジョブ詳細ページの出力タブで表示される、トリガーが取得した更新済み連絡先


Search rowsアクションはメール[email protected]を検索しようとします。 1行を見つけ、Row IDをUpdate rowアクションに渡します。 その後、Update rowアクションが名前をAnna Mccoyに更新します
レシピが行を更新した後の結果シートを次に示します。 名前がAnna SharpayからAnna Mccoyに変更されていることに注意してください。
元のシート
更新済みシート
最終更新日: