本記事では Box に関する自動工程について説明します。

Box は、Box Inc. 社が提供するクラウドストレージサービスです。個人での利用のほか、複数人で利用する共有フォルダを作成・使用することができます。また、API を使って各種操作を行うこともでき、今回紹介する自動工程も API を用いています。

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

各自動工程について

Boxに関する自動工程には、「ファイルアップロード」「ファイルコピー」「フォルダ作成」「フォルダ検索」「フォルダ共有リンク作成」「フォルダ削除」があります。今回はそのうち、「フォルダ作成」「ファイルアップロード」「フォルダ共有リンク作成」「ファイル削除」の4種を取り上げます。

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

Box: フォルダ作成

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

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

Box: ファイルアップロード

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

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

Box: フォルダ共有リンク作成

フォルダ共有リンク設定工程の設定画面

Box 上の共有したいフォルダを指定し、共有リンクを生成します。データ項目を追加することで有効期限やパスワードの設定が可能です。

Box: フォルダ削除

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

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

なお、これらの自動工程を使用するには、サービスタスクにある「OAuth2 設定」ボタンからBox アカウントに紐づくトークンを取得する必要があります。以下に示す手順で設定してください。

Box と Questetra の連携設定

Box のサービスタスクで「C1: OAuth2 設定名」にある「OAuth2 設定」ボタンを選択します。

次に、「追加」ボタンから「名前」に 適当な名前を入力し、「追加」をクリックします。どのアカウントと紐づく設定か判別できるように「{ Box のアカウント名} で接続」などとしておくのがおすすめです。

「トークンの取得」を選択すると、Box アカウントへのログイン画面が表示されます。(ただし、利用のブラウザにて既に Box にログインしている場合は、「Boxへのアクセスを許可」の画面しか表示されません。)

Box のアカウント(メールアドレス)とパスワードを入力、ログインし、「Boxへのアクセスを許可」をクリックします。

認証が成功すると、Questetra の OAuth2 設定ページに戻り、「トークンの有無」欄に「o (リフレッシュトークン)」と表示されます。

サンプルアプリ

自動工程を使って作成したサンプルアプリ

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

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

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

項目名必須説明
C1: OAuth2 設定名*Box への接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 作成するフォルダの親フォルダの IDどのフォルダの中に新しいフォルダを作成するか、ID を使って指定します。今回は空白にして、ルートフォルダを指定しましょう。
C3: 作成するフォルダの名称*作成されるフォルダの名前を指定します。今回は「#{processInstanceId}」としましょう。「#{processInstanceId}」の部分にはプロセス ID が入るため、このアプリで作った他のフォルダと重複することがなくなります。
C4: フォルダ ID を保存する文字型データ項目生成したフォルダの ID の保存先となるデータ項目を指定します。今回は「作成したフォルダの ID」を指定します。
C5: フォルダ URL を保存する文字型データ項目生成したフォルダの URL の保存先となるデータ項目を指定します。今回は指定しません。
「Box: フォルダ作成」の設定項目

次に、指定したファイルを作成したフォルダにアップロードします。

項目名必須説明
C1: OAuth2 設定名*Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: アップロードするファイルが保存されているファイル型データ項目*アップロードするファイルの入ったデータ項目を指定します。今回は「アップロードファイル」を指定します。
C3: ファイルをアップロードするフォルダの ID (指定がない場合は、ルートフォルダ)アップロードしたファイルを保存するフォルダの ID を指定します。今回は、データ項目「アップロードファイル」の「フィールド名」である「#{#q_folder_id}」を指定します。
C4: ファイル ID を保存する文字型データ項目アップロードしたファイルの ID の保存先となるデータ項目を指定します。今回は使用しません。
C5: ファイル URL を保存する文字型データ項目アップロードしたファイルの URL の保存先となるデータ項目を指定します。今回は使用しません。
「Box: ファイルアップロード」の設定項目

設定が完了したら、「フォルダ共有リンク作成」工程に進みます。ここで、「作成したフォルダの ID」から共有リンクを作成します。

項目名必須説明
C1: OAuth2 設定名*Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 共有するフォルダ ID*共有するフォルダの ID を指定します。「参照を挿入する…」から「共有するフォルダの ID」を選択してください。
C3: リンクの有効期限が格納されている日時型データ項目共有リンクの有効期限を日付型データ項目で指定します。今回は使用しません。
C4: リンクのパスワードが格納されている文字型データ項目共有リンクのパスワードを文字型データ項目で指定します。今回は使用しません。
C5: 共有リンクを保存する文字型データ項目*作成した共有リンクの保存先となるデータ項目を指定します。今回は、「共有リンク URL」を指定します。
「Box: フォルダ共有リンク作成」の設定項目

共有設定が完了したら「共有リンク確認」工程に進みます。ここで、「共有リンク URL」に入っている URL  を確認して、先方に伝えましょう。伝える部分はアプリには入っていないので、メールなどで手動で行うか自動送信の工程を追加するなどしてください。

確認したらタイマー中間イベントに進みます。

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

これで、プロセスを開始してから1日後まで待機させられます。先方には、この間にファイルを受け取ってもらいましょう。
※関連マニュアル:「M223: 処理フロー途中で、自動的に一定時間スリープさせるように設定する」

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

項目名必須説明
C1: OAuth2 設定名*Box への接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(Box と Questetra の連携設定を参照)。
C2: 削除するフォルダの ID が保存されている文字型データ項目*削除するフォルダの ID が入っているデータ項目を指定します。今回は「共有するフォルダの ID」を指定します。
「Box: フォルダ削除」の設定項目

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

今回は以上です。

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