

この記事では Google ドライブに関する自動工程について説明します。
Google ドライブは、Google 社が提供するクラウドストレージサービスです。個人での利用のほか、 Google Workspace を使用していれば複数人で共用するドライブ (チームドライブ) を作成・使用することもできます。また、API を使って各種操作を行うこともでき、今回紹介する自動工程もそれを用いています。
Google ドライブについて、詳しくは Google の公式ヘルプページをご覧ください。
各自動工程について
Google ドライブに関する自動工程には、最初から使用可能な「ファイルアップロード」「フォルダ作成」「ファイル削除」などがあります。今回はそのうち、「ファイルアップロード」「フォルダ作成」「ファイル削除」の3種を取り上げます。
まず、各工程について簡単に説明します。
Google ドライブ: ファイルアップロード

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

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

Google ドライブ上のファイルやフォルダを指定し、削除します。複数行文字型データ項目を指定すれば、複数のファイル・フォルダを一度に削除することも可能です。その場合は1行につき1つの ID を書くようにします。
いずれの自動工程も、チームドライブにも対応しています。
なお、これらの自動工程を使用するには、対象となるファイル/フォルダがある Google アカウントを Questetra BPM Suite のアカウントと連携する必要があります。以下に示す手順で設定してください。
Google アカウント連携の設定
システムの設定
システム側の設定手順は「Google Workspace 連携を設定する」をご覧ください(システム管理権限が必要です)。
アカウントの設定
まず、アカウント設定画面を開き、「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」を指定します。 |
フォルダの削除が完了すれば、全工程終了です。
