Google ドライブ パッケージから [ファイル/フォルダーを検索] アクションを使用する例
- 最終更新日2024/10/31
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 ドライブに存在するかどうかを確認できます。ファイルがない場合は、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 ドライブに新しいシートを作成する前に、作成しようとしているファイルがすでに存在するかどうかを確認してください。指定したパスにファイルが存在しない場合のみ、ファイルを作成します。これを行うには、[設行/キャッチ] アクションを使用します。
- [アクション] パネルから、 アクションを見つけて Bot エディターに追加します。
- 変更を保存します。
-
ファイルがすでに存在するかどうかを確認するには、Google ドライブの [ファイル/フォルダーを検索] アクションを使用します。
- [アクション] パネルから、 アクションを見つけて [設行] ブロック内に追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [検索] で、[ファイル] をクリックします。
- [ソース フォルダー パス] に、ソース フォルダーを入力します。たとえば、このサンプル シナリオでは、Bot はパス aa-docs\spreadsheets でファイルを検索します。
- [タイプを照合] で、[完全一致] を選択します。
- [ファイル/フォルダー名] に、「contacts」と入力します。
- [ファイルまたはフォルダーのリストを返す] で、[ディクショナリ] を選択します。
- [(x)] をクリックし、名前が FileFolderDictionary、サブ タイプが [任意] のディクショナリ変数を作成します。
- 変更を保存します。
-
このファイルが存在しない場合は作成します。
- [アクション] パネルから、 アクションを見つけて [キャッチ] ブロック内に追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- [ワークブック名] に、「contacts」と入力します。
- [ファイル パス] で、[元の共有場所] をクリックし、親フォルダーのパスを入力します。たとえば、このサンプル シナリオでは、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 ドライブで作成したスプレッドシートを開きます。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- [シートを開く] で、[スプレッドシート ID から] をクリックし、「$FileId$」と入力します。
- 変更を保存します。
-
データ テーブル変数を Google シートに書き込みます。
- [アクション] パネルから、 アクションを見つけて追加します。
- [セッション名] に、「gsheetsession」と入力します。
- [シートのオプション] で、[特定のシート] をクリックし、[シート名] に「Sheet1」と入力するか、ターゲット スプレッドシートのシート名を入力します。
- [データ テーブル変数を入力] で、[TableFromCSV] を選択します。
- [開始セルの値] に、「A1」と入力します。
- 変更を保存します。
-
Google ドライブと Google シートを接続解除します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- 変更を保存します。
- [アクション] パネルから、 アクションを見つけて追加します。
- [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
- [セッション名] に、「gsheetsession」と入力します。
- 変更を保存します。
- Bot を実行します。