アクション から [ファイル/フォルダーを検索] を使用する例Google ドライブ パッケージ
- 最終更新日2025/03/11
アクション から [ファイル/フォルダーを検索] を使用する例Google ドライブ パッケージ
指定されたパスにファイルが見つからない場合、Google ドライブでファイルを検索し、ファイルを作成する Bot を構築します。
前提条件
- Google Cloud Platform で OAuth2 アプリケーションを設定します。 詳細については、「Google Cloud Platform で OAuth2 を設定する」を参照してください。
- この Bot は Control Room OAuth 接続方法を使用します。 Control Room で OAuth 接続を構成します。 詳細については、「Control Room で OAuth 2.0 接続を構成します」を参照してください。
- サンプルデータを含むCSVファイル。 CSVファイルがない場合は、このファイルをダウンロードできます。
Google ドライブにGoogle シートがない場合に、Google シートを作成することを想定してください。 アクションで Google ドライブ パッケージ から、Google Drive に既にファイルが存在するかどうかを確認することができます。 存在しない場合は、アクション から ワークブックを作成Google シート パッケージを使用してファイルを作成できます。
この Bot は Google ドライブに Google スプレッドシートがあるか確認します。 指定されたパスに存在しない場合、Bot は Google シートを作成し、CSV ファイルからデータをコピーします。
手順
-
新しい Bot を作成します。
- 左側のペインで [オートメーション] をクリックします。
- をクリックします。
- [タスク Bot を作成] ウィンドウで、Bot の名前を入力します。
- デフォルトのフォルダーの場所 \Bots\ をそのまま使用します。
- デフォルトのBotの保存場所を変更するには、[選択] をクリックしてプロンプトに従います。
- [作成と編集] をクリックします。
-
Google シートにコピーしたいデータが含まれている CSV ファイルを開きます。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- [セッション名] に、「csvsession」と入力します。
- [ファイルパス] で、データをコピーする CSV ファイルのパスを指定します。
- CSVテーブルにヘッダーがある場合は、ヘッダーを含むを選択してください。
- CSVファイルで使用されている区切り文字を選択してください。
- 変更を保存します。
-
CSVからデータを読み込み、データテーブル変数に格納します。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- [セッション名] に、「csvsession」と入力します。
- [値を変数に代入] で、[(x)] をクリックし、TableFromCSV という名前の変数を作成します。
- 変更を保存します。
-
CSV ファイルを閉じます。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- [セッション名] に、「csvsession」と入力します。
- 変更を保存します。
-
Google ドライブに接続します。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、設定済みの OAuth 接続に関連付けられている E メール ID を入力します。
- [OAuth2 認証モード] で、[Control Room でマネージ] を選択します。
- [選択] をクリックし、Control Room で構成した接続を選択します。
- 変更を保存します。
-
Google シートに接続します。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、設定済みの OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- [OAuth2 認証モード] で、[Control Room でマネージ] を選択します。
- [選択] をクリックし、Control Room で構成した接続を選択します。
- 変更を保存します。
-
新規のシートをGoogle Driveで作成する前に、作成しようとしているファイルがすでに存在するか確認してください。 指定されたパスに存在しない場合のみファイルを作成します。 これを行うには、Try Catch アクション を使用します。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- 変更を保存します。
-
ファイルがすでに存在するかどうかを確認するには、Google ドライブの[ファイル/フォルダーを検索] アクション を使用してください。
- [アクション] パネルから、 アクションを見つけて Try ブロック内に追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [検索] で、[ファイル] をクリックします。
- ソースフォルダパスにソースフォルダを入力してください。 例えば、このサンプルシナリオでは、Botはaa-docs/spreadsheetsパス内のファイルを探します。
- [一致タイプ] で、[完全一致] を選択します。
- [ファイル/フォルダー名] に、「連絡先」と入力します。
- ファイルまたはフォルダーのリストを返す で、辞書 を選択します。
- (x) をクリックし、FileFolderDictionaryという名前の辞書変数を作成し、サブタイプをAnyに設定します。
- 変更を保存します。
-
ファイルが存在しない場合は、ファイルを作成します。
- [アクション] パネルから、 アクションを見つけて [キャッチ] ブロック内に追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- [ワークブック名] に「連絡先」と入力します。
- ファイルパスで、共有場所からをクリックし、親フォルダーのパスを入力します。 例えば、このシナリオのサンプルでは、Botがaa-docs/spreadsheetsパス内のファイルを検索します。
- 変更を保存します。
-
Google ドライブからスプレッドシートを開くには、ファイル ID またはファイルパスが必要です。 この Bot はファイルを動的に作成するため、Bot の実行前にファイルパスを取得することはできません。 しかし、Google ドライブの[ファイル/フォルダーを検索] アクション を再度使用することでファイル ID を取得できます。
-
File1 キーに関連付けられた JSON 文字列を解析します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [データソース] で、[テキスト] を選択し、「$FileFolderDictionary{File1}$」と入力します。
- [JSON オブジェクト セッション] で、[ローカル セッション] をクリックし、「jsonsession」と入力します。
- 変更を保存します。
-
JSON オブジェクトからファイル ID を取得します。
- [アクション] パネルから、 を見つけて追加します。
- [JSON ノード キーまたはパス] に、「fileId」と入力します。
- [セッション名] に、「jsonsession」と入力します。
- [結果を変数に保存] で、[(x)] をクリックし、FileId という名前の変数を作成します。
- 変更を保存します。
-
JSON セッションを終了します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [セッション名] に、「jsonsession」と入力します。
- 変更を保存します。
-
取得したファイルIDを使用して、Google Driveで作成されたスプレッドシートを開きます。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- [シートを開く] で、[スプレッドシート ID から] をクリックし、「$FileId$」と入力します。
- 変更を保存します。
-
データテーブル変数をGoogleシートに書き込みます。
- [アクション] パネルから、 アクションを見つけて追加します。
- [セッション名] に、「gsheetsession」と入力します。
- シートオプション をクリックし、個別のシート を選択して、Sheet1 またはターゲットスプレッドシートのシート名を シート名 に入力します。
- [データテーブル変数を入力] で、[TableFromCSV] を選択します。
- [開始セルの値] に「A1」と入力します。
- 変更を保存します。
-
Google ドライブと Google シートのリンクを解除します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- 変更を保存します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- 変更を保存します。
- Bot を実行します。