
今回は 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 チームドライブに作成した専用の共有フォルダにアップロードする、という方式になっています。フォルダの 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 ドライブ: ファイルアップロード) – Questetra Support
ピンバック: Questetra Developers Meeting レポート – Questetra Support