ワークフローから Google ドライブを活用する

今回は Google ドライブに関する自動工程について説明します。

Google ドライブは、Google 社が提供するクラウドストレージサービスです。個人での利用のほか、 Google Workspace を使用していれば複数人で共用するドライブ (チームドライブ) を作成・使用することもできます。また、API を使って各種操作を行うこともでき、今回紹介する自動工程もそれを用いています。

Google ドライブについて、詳しくは Google の公式ヘルプページをご覧ください。


各自動工程について

Google ドライブに関する自動工程には、最初から使用可能な「ファイルアップロード」「フォルダ作成」「ファイル削除」や、アドオンを追加することで使用可能な「フォルダ共有」「ファイル取得」などがあります。今回はそのうち、「ファイルアップロード」「フォルダ作成」「ファイル削除」の3種を取り上げます。

まず、各工程について簡単に説明します。

Google ドライブ: ファイルアップロード

ファイルアップロード工程の設定画面

Google ドライブにファイルをアップロードします。アップロードするファイルはファイル型項目で指定します。ファイル型項目に複数のファイルをセットすることで、同時に複数のファイルをアップロードすることができます。アップロード先のフォルダはフォルダIDまたはパスで指定し、指定しない場合はアップロードするユーザのマイドライブのルートにアップロードします。また、アップロードしたファイルの ID・URL はデータ項目に保存できます。

Google ドライブ: フォルダ作成

フォルダ作成工程の設定画面

Google ドライブ上のフォルダを指定し、その中に新しいフォルダを作成します。作成したフォルダの IDとURL はデータ項目に保存できます。

Google ドライブ: ファイル削除

ファイル削除工程の設定画面

Google ドライブ上のファイルやフォルダを指定し、削除します。複数行文字型データ項目を指定すれば、複数のファイル・フォルダを一度に削除することも可能です。その場合は1行につき1つの ID を書くようにします。

いずれの自動工程も、チームドライブにも対応しています。ただし、「ファイル削除」については、接続するユーザにチームドライブでの権限が無ければ、処理に失敗します。(v12.2現在)。権限ユーザで、接続するようにしてください。

なお、これらの自動工程を使用するには、対象となるファイル/フォルダがある Google アカウントを Questetra BPM Suite のアカウントと連携する必要があります。以下に示す手順で設定してください。


Google アカウント連携の設定

システムの設定

この設定は、システム管理権限を持つユーザで行ってください。
システム設定のページを開き、「Google 連携」を開きます。開いたページで、「Google Workspace連携を有効にする」にチェックを入れてください。 Google Workspace のドメインを入力することも可能ですが、これは必須ではありません。

Google 連携設定画面

「保存」を押せば完了です。

これで、お使いの環境で、シングルサインオンなど Google との連携機能が使用可能になります。

アカウント設定画面に「Google 連携」の項目が現れ、アカウントの連携設定が可能になります。

アカウントの設定

まず、アカウント設定画面を開き、「Google 連携」をクリックします。

そして開いたページで、「Google ドライブ」の部分にあるボタンを確認します。そのボタンが「解除」であれば、そのアカウントは既に Google アカウントとの連携が完了しています。その場合、以降の手順は必要ありません。

ボタンが「連携設定」の場合、連携は未設定です。その場合、ボタンをクリックしてください。開いたページで、連携したい Google アカウントにログインし、続く画面で「許可」をクリックします。

Googleでの連携許可画面

これで、連携設定は完了です。Google 連携についてはこちらのページもご覧ください。


サンプルアプリ

これらの自動工程を使って作成したサンプルアプリがこちらです。

このアプリは「ファイルを社内で部外の人へ送る」ためのものです。ファイルを Google チームドライブに作成した専用の共有フォルダにアップロードする、という方式になっています。フォルダの URL をメール等で伝える前提になっています。また、フォルダ (と中に入っているファイル) は作成から1日後に削除されるように設定されています。「メールで送るにはファイルサイズが大きい」「ファイルが複数ある」といった場合に使います。

データ項目は以下のようになっています。

データ項目名データ型必須「ファイル添付」工程「URL確認」工程説明
件名編集可表示のみプロセスの件名です。
作成したフォルダの ID文字列型 (単一行)非表示非表示「フォルダ作成」工程で作成したフォルダの ID を保存します。
作成したフォルダの URL文字列型 (単一行)非表示表示のみ「フォルダ作成」工程で作成したフォルダの URL を保存します。
アップロードするファイルファイル型編集可表示のみアップロードして共有するファイルを保存します。

まず、「ファイル添付」工程で共有するファイルを指定します。次の「フォルダを作成」工程 (「Google ドライブ: フォルダ作成」参照) で、共有用のフォルダを チームドライブ上に作成します。

「Google ドライブ: フォルダ作成」の設定項目は以下のとおりです。

項目名必須説明
C1: Google ドライブ に接続するユーザGoogle ドライブにどのユーザで接続するか指定します。指定するユーザは Google ドライブとの連携が設定されている必要があります。
I1: 生成するフォルダの親フォルダの IDどのフォルダの中に新しいフォルダを作成するか、ID を使って指定します。ID はフォルダの表示 URL の末尾に示されています (“https://drive.google.com/drive/u/0/folders/%5Bid%5D”の%5Bid%5Dの部分です) 。空にした場合はマイドライブのルートに作成されます。今回は空にしておきます。
I2: 生成するフォルダの名称作成されるフォルダの名前を指定します。今回は「共有#{processInstanceId}」としましょう。「#{processInstanceId}」の部分にはプロセスIDが入るため、このアプリで作った他のフォルダと重複することがなくなります。
O1: 生成したフォルダの ID を保存するデータ項目生成したフォルダの ID の保存先となるデータ項目を指定します。今回は「作成したフォルダの ID」を指定します。
O2: 生成したフォルダの表示 URL を保存するデータ項目生成したフォルダの URL の保存先となるデータ項目を指定します。今回は「作成したフォルダの URL」を指定します。

ID と URL の保存先に関しては必須項目ではありませんが、今回は必要なので設定します。

次に、「ファイルをアップロード」工程 (「Google ドライブ: ファイルアップロード」 参照) で指定したファイルを作成したフォルダにアップロードします。

「Google ドライブ: ファイルアップロード」の設定項目は以下のとおりです。

項目名必須説明
Google ドライブに接続するユーザGoogle ドライブにどのユーザでファイルをアップロードするか指定します。指定するユーザは Google ドライブとの連携が設定されている必要があります。
アップロードするファイルが保存されているデータ項目アップロードするファイルの入ったデータ項目を指定します。今回は「アップロードするファイル」を指定します。
ファイルをアップロードするフォルダのIDどのフォルダにファイルをアップロードするか指定します。フォルダの ID を指定してください 。空にした場合はマイドライブのルートにアップロードされます。今回は EL 式を使ってデータ項目「作成したフォルダの ID」に保存されている ID を読み出します。
ファイル ID を保存するデータ項目アップロードしたファイルの ID の保存先となるデータ項目を指定します。今回は使用しません。
表示用 URL を保存するデータ項目アップロードしたファイルの表示用 URL の保存先となるデータ項目を指定します。今回は使用しません。
ダウンロード用 URL を保存するデータ項目アップロードしたファイルのダウンロード用 URL の保存先となるデータ項目を指定します。今回は使用しません。
エラー内容を保存するデータ項目エラーが発生したとき、そのエラーの内容の保存先となるデータ項目を指定します。今回は使用しません。

アップロードが完了したら、「URL 確認」工程に進みます。ここで、「作成したフォルダの URL」に入っている URL を確認して、先方に伝えましょう。伝える部分はアプリには入っていないので、メールなどで手動で行ってください。

確認したらタイマー中間イベントに進みます。タイマー中間イベントの設定項目は以下のとおりです。

項目名説明
データで指定された日時次に進む日時をデータ項目で指定します。今回は使いません。
式で指定された日時 次に進む日時を式で指定します。今回はこちらを選び、式は「processInstanceStartDatetime.addDays(1)」とします。

これで、プロセスを開始してから1日後まで待機させられます。先方には、この間にファイルを受け取ってもらいましょう。

1日経ったら、「フォルダを削除」工程 (「Google ドライブ: ファイル削除」参照) でフォルダが削除されます。

「Google ドライブ: ファイル削除」の設定項目は以下のとおりです。「C1: Google Drive に接続するユーザ」はチームドライブでの権限を持つユーザを指定してください

項目名必須説明
C1: Google Drive に接続するユーザGoogle ドライブにどのユーザで接続するか指定します。指定するユーザは Google ドライブとの連携が設定されている必要があります。
C2: 削除するファイル・フォルダ ID が保存されている文字型データ項目削除するファイル・フォルダの ID が入っているデータ項目を指定します。今回は「作成したフォルダの ID」を指定します。

フォルダの削除が完了すれば、全工程終了です。


今回は以上です。

「ワークフローから Google ドライブを活用する」への2件のフィードバック

  1. ピンバック: サービスタスク(Google ドライブ: ファイルアップロード) – Questetra Support

  2. ピンバック: Questetra Developers Meeting レポート – Questetra Support

コメントは受け付けていません。

上部へスクロール

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む