今回は 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 のドメインを入力することも可能ですが、これは必須ではありません。

G Suiteドメインの入力画面

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

これで、お使いの環境で、シングルサインオンなど 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

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

%d人のブロガーが「いいね」をつけました。