クラウド型ワークフローとクラウドストレージの連携方法(Dropbox編)

例えば、見積もり承認後に自動生成された見積書PDFが自動的に Dropbox に保存されます。

こんにちわ!矢作です!

 

Questetra BPM Suite で業務プロセスを管理されているお客様から、クラウドストレージにファイルを自動保存する方法について、多くの相談を頂きます。本記事では、クラウドストレージの1つである Dropbox と連携させる方法を紹介します。

 

今回は、連携について簡単に理解していただくために、ファイルを登録するだけの簡単な業務プロセスを対象とします。Questetra BPM Suite でファイルを登録し、そのファイルが自動的に Dropbox に保存される、という業務プロセスです。

 

questetra-dropbox

説明の流れ

 

Questetra BPM Suite と Dropbox の連携を実現する設定の方法を、次の流れで説明します。

 

1. Questetra BPM Suite 上でプロセスモデルを定義
2. OAuth 2.0 の設定
3. 動作確認

 

Questetra BPM Suite から Dropbox の API にアクセスして、Questetra BPM Suite に登録されたファイルを Dropbox に転送・保存します。この API にアクセスするには認可の仕組みである OAuth 2.0 を利用しなければならないので、 その設定を行います。

 

あと、本記事の読者対象は次のようなスキルをお持ちの人を対象にしています。

 

Questetra BPM Suite 上でプロセスモデルを定義

 

ここでは Questetra BPM Suite に関する設定だけです。定義するプロセスモデルは、ここからダウンロードできます。

 

プロセスモデル図は、ヒューマンタスクは「ファイル登録」の1つだけです。このタスクで登録されたファイルが、終了の一つ手前にある「ファイル送信」というメッセージ送信中間イベント(HTTP)で Dropbox に送られます。

 

file-register-process-diagram

プロセス図

file-register-task

「ファイル登録」タスクの処理画面

データ項目

データ項目

Dropbox にアクセスするための API に関する情報は、Core API として次のページに公開されています。

https://www.dropbox.com/developers-v1/core/docs

 

Dropbox にファイルを保存する API 仕様は次の通りです。

アクセスURL
https://content.dropboxapi.com/1/files_put/auto/フォルダ名/ファイル名
HTTP Method
PUT
リクエストボディ
ファイル

このルールに基づき、「ファイル送信」メッセージ送信中間イベント(HTTP)の設定を行います。API にアクセスするURLは、フォルダ名やファイル名により動的に変化するので、URLの生成はスクリプトタスク「API URL」で行っています。

 

「ファイル送信」メッセージ送信中間イベント(HTTP)の設定

「ファイル送信」メッセージ送信中間イベント(HTTP)の設定

# 「API URL」スクリプトタスクの内容
var base_url = "https://content.dropboxapi.com/1/files_put/auto/";
var file_name = data.get("3");
var folder_name = data.get("5");
var exec_url = base_url + encodeURI(folder_name) + "/" + encodeURI(file_name);
retVal.put("4",exec_url);

 

OAuth 2.0 の設定

 

Questetra BPM Suite のメッセージ送信中間イベントから、Dropbox の API 用 URL にアクセスするには、OAuth 2.0 による認可をクリアしなければなりません。

 

この設定は次の流れで行います。

  1. Questetra BPM Suite にて、コールバックURLを確認。
  2. Dropbox の App に関する App key と App secret を確認。
  3. Questetra BPM Suite にて、OAuth 2.0 設定を行いトークンを取得。

 

Questetra BPM Suite にて、コールバックURLを確認

 

Questetra BPM Suite 側での作業です。

 

コールバックURLは、メッセージ送信中間イベントのプロパティ画面で確認します。「セキュリティ」タブの画面で、「OAuth 2.0 で接続する」を選択し、「設定はこちらから」をクリックします。別画面で OAuth 2.0 設定の画面が表示され、このページに書かれているコールバックURLをメモします。

 

コールバックURLの確認画面

コールバックURLの確認画面

 

Dropbox の App に関する App key と App secret を確認

 

Dropbox 側での作業です。

 

Dropbox で作成した App(※)の設定画面に表示される、App key と App secret をメモします。同時に、前項でメモした Questetra BPM Suite のコールバック URL を Dropbox App の設定画面で登録します。
※Dropbox で事前に App を作成しておいてください。

 

Dropbox の設定画面

Dropbox の設定画面

 

Questetra BPM Suite にて、OAuth 2.0 設定を行いトークンを取得

 

Questetra BPM Suite 側での作業です。

 

作成したプロセスモデルの「ファイル送信」メッセージ送信中間イベント(HTTP)のプロパティを開きます。

 

「セキュリティ」タブを選び、「OAuth 2.0 で接続する」を選択、「設定はこちらから」ボタンを押下すると、別画面で OAuth 2.0 設定の画面が表示されます。表示された画面で、ページ上部にある「追加」をクリックすると、OAuth 2.0 に関する詳細な設定画面が表示されますので、それぞれ次のように入力します。

名前
(任意)
Authorization Code Request URL
https://www.dropbox.com/1/oauth2/authorize?response_type=token&client_id=(Dropbox App の App key)&redirect_uri=(コールバックURL)
Access Token Request URL
https://api.dropbox.com/1/oauth2/token
Scope
(空欄)
Consumer Key
Dropbox App の App key
Consumer Secret
Dropbox App の App secret

Authorization Code Request URL では、redirect_uri に URL エンコードしたコールバック URL を指定します。

 

入力が完了したら保存し、トークンを取得します。

 

動作確認

 

前節までの設定が完了したら、定義したプロセスモデルをリリースします。その後、新規開始からプロセスを開始し、唯一のヒューマンタスク「ファイル登録」を処理します。

 

file-regster-task-execution

file-register-on-dropbox

 

多くの Dropbox API

 

これで、Questetra BPM Suite に登録されたファイルが、自動的に Dropbox に保存される仕組みを構築する方法の説明は終了です。

 

Dropbox には多くの API が用意されており、その仕様が公開されています。

 

  • Dropbox にファイルを保存する API(今回利用したもの)
  • Dropbox に保存されているファイルを参照、操作する API
  • Dropbox に作られたフォルダ情報を参照する API

などなど。

 

Questetra BPM Suite から Dropbox の API を利用することで、Dropbox に対して保存や変更などの操作を行ったり、Dropbox 内の情報を取得したりすることができます。

 

今回はここまで!

 


参考

YAHAGI Hajime の紹介

幸せを生み出すITを追求するクエステトラの一味です。 国産の BPM ソフト Questetra BPM Suite で日本・世界を幸せにしたい。
YAHAGI Hajime の投稿をすべて表示

あわせて読みたい
50.Questetra Tips の前の記事 興味本位でスタートした案件を減らす方法
50.Questetra Tips の次の記事 Ver.10.4 動作テストが簡単に!
YAHAGI Hajime の他の記事 見積承認フローの改善奮闘 – 安全なファイルの提出(動作確認) –

アーカイブ

 RSS