クラウド型 ワークフロー

Box とは連携できません...今のところは

Questetra は、様々なクラウドサービスとの連携(マッシュアップ)を模索してます!

Box は、Dropbox や Google ドライブと同じく、クラウドにファイルを保存することができる、クラウドストレージサービスです。ビジネス用途に強く、複数ユーザでのファイルの共有や、だれが閲覧可能かといったセキュリティの設定がしっかりしているという特徴を持っています。

Questetra BPM Suite は業務プロセスの成果物としてのファイルを、自動的に Google ドライブに保存する機能を持っています。同じようなことを Box でもできないかと考え調べてみました。Questetra BPM Suite と Box を仲立ちするようなプログラムを書けばできるでしょうが、あくまでQuestetra BPM Suite から 直接 Box の API を呼び出す形での連携方法を模索しました。

結論から言うと、残念ながらできませんでした。今回は「できません」という報告です。

Questetra BPM Suite to Box

実現しようとしたプロセスモデルのイメージとしては、上図の通りです。業務プロセスの途中で、メッセージ送信中間イベント(HTTP)を使用し、Box の API を呼び出して、ファイルをアップロードします。

Box には、Box Content API と Box View API という2種類の API があります。Box Content API にファイルをアップロードするための API があり、その内容は以下の通りでした。

  • multipart post を使用する
  • 必須のパラメータは「ファイル名」と「アップロードするフォルダのID」の2つ

フォルダID が気になるところですが、ルートフォルダは常に 0 と決まっているようなので、アップロード先をルートフォルダに限れば、実現は簡単そうです。またBox Content API を呼び出す際の認証認可基盤は OAuth2 です。

ここまでの情報だと、現存の Questetra BPM Suite で実現できそうな雰囲気でした。実を言うと、Box との OAuth2 の連携設定はできましたし、1度は API を呼び出してファイルをアップロードすることもできました。ただ2回目以降、必ず失敗するところから、限界に気づきました。

OAuth2 にも、実装が必ずしも必須ではない、オプションの仕様があります。Box は「リフレッシュトークンからアクセストークンを取得すると、リフレッシュトークンを新しいものに更新する」というオプション仕様を実装していました。しかし Questetra BPM Suite はこの仕様に対応していないため、現時点ではBox とは、直接は連携できません。厳密にはこの OAuth2 のオプション仕様以外にも問題があるのですが、それも含めて、いずれ Box とも連携できるように、と考えています。

あわせて読みたい
15.野望・展望・志 の前の記事 ヒト・モノ・カネ・情報、、、ジョウホウとは何さ?
15.野望・展望・志 の次の記事 人類の危機は「自動化」が救う?
Hatanaka Akihiro の他の記事 Questetra と Cacoo の連携プレー(その3)

アーカイブ

 RSS