Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2015年2月26日 dsthHUB LT資料『DataSpider ServistaでBoxに接続してみた』

1,532 views

Published on

DataSpiderで「Box」に接続してみた、発表です。

DataSpiderでOAuth2.0認証を実現し、RESTアダプタでBox内のコンテンツへのアクセスをするデモの実演も行われました。

Published in: Software
  • Be the first to comment

2015年2月26日 dsthHUB LT資料『DataSpider ServistaでBoxに接続してみた』

  1. 1. DataSpider Servistaで Boxに接続してみた Lightning Talk @ dstnHUB, Feb 2015 株式会社アプレッソ 開発部 開発1G 陳映融
  2. 2. 簡単な自己紹介 • 2014年1月 アプレッソに入社 (あっという間に一年経った…) • 台湾出身 (寒いのは苦手…) • 日本語でおk (でもネタ系の言葉は微妙かも…) 2
  3. 3. Boxについて
  4. 4. Boxって? • Box – https://www.box.com/ • エンタープライズ向けのクラウドストレージ – 個人向けのプランもある • 海外ではかなりのシェアを占めている – 日本ではまだ認知度が低め… 4
  5. 5. Boxを使用するには • 公式サイト・アプリ • 開発者向けのREST API – Box Content API https://developers.box.com/docs/ • ストレージのコンテンツへのフルアクセスを提供 • 他のサービス・アプリのバックエンドとしての使用も可能 – Box View API https://developers.box.com/view/ • ドキュメントをHTML5で表示する機能を提供 • 限定されたコンテンツ管理機能もある 5
  6. 6. BoxのAPI認証と権限 • Content API – OAuth 2.0による認証 • クライアントID/シークレットはアプリごとで付与される • アクセス権限はスコープの設定で制御 • View API – API Keyによる認証 • API Keyはアプリごとで付与される • アクセス権限は該当アプリで作成したリソースのみ 6
  7. 7. • アプリケーション設定画面 https://app.box.com/developers/services – 右メニューの「Boxアプリケーションの作成」を押下 APIを使用するための準備 1 7 ※作成済みのアプリケーションを 削除する手段がないので、作りす ぎにご注意を。
  8. 8. – 使用するAPIを選択 APIを使用するための準備 2 8 ※アプリケーションの使用するAPI を選択後、二度と変更できないので、 間違えないようにご注意ください。
  9. 9. View APIに接続してみる
  10. 10. View API • REST API – DataSpiderのRESTアダプタを使えば大丈夫 • API Keyによる認証 – アプリケーションを登録すれば発行してくれる • アプリケーション設定画面に表示される – アクセス対象リソースはView API専用 • View APIで作成したリソースのみアクセス可能 • BoxのWeb UIからこれらのリソースにアクセスできない • Boxアカウント容量として計上されない 10
  11. 11. 接続してみる 1 • シナリオ 1. 公開URLでファイルアップロード • http://dataspider.appresso.com/documents/dss_catalogue.pdf 2. ファイルをローカルにダウンロード • /tmp/catalogue.pdf 11
  12. 12. 接続してみる 2 • シナリオ 1. ローカルファイルをアップロード • /data/view_demo2/DS本チラシ.pdf 2. オンライン表示用URL取得 3. URLをブラウザで表示 12 ※表示URL取得できるようになるまで待つ
  13. 13. Content APIに接続してみる
  14. 14. Content API • REST API – DataSpiderのRESTアダプタを使えば大丈夫 • OAuth 2による認証 – OAuth 2の仕組みは? • 去年のLT@dstnHUBで説明したので割愛 • 詳しくはウェブで!(dstnサイトで検索) – DataSpiderにOAuth 2認証機能はないけど? ⇒ スクリプトの組み合わせで実現できる! – アクセス対象リソースはBoxのWeb UIと同じ 14
  15. 15. BoxのOAuth 2認証実装 • 認可コード・トークンの有効期間 – 認可コード:30秒 – リフレッシュトークン:60日、または初回使用時まで • 認可コード要求パラメータ – state • 指定必須 – redirect_uri • ローカルホストは開発フェーズでしか使用できない • ポートとパスは制限なし 15
  16. 16. • 認可コード待ち受け OAuth 2認証スクリプト 16 一時ファイルとして保存
  17. 17. OAuth 2認証スクリプト • アクセストークン準備 17 認可コード一時ファイルによる連携
  18. 18. OAuth 2認証スクリプト 18 トークンなし:初回認証 リフレッシュトークン期限切れ:再認証
  19. 19. OAuth 2認証スクリプト 19 アクセストークン期限切れ:アクセストークン再発行
  20. 20. OAuth 2認証スクリプト 20 トークン有効期間内:保存済みのトークンを使用
  21. 21. • シナリオ 1. フォルダを作成 • [Box] /Uploaded, /Downloaded 2. ローカルファイルをアップロード • [ローカル] /data/content_demo1/*  [Box] /Uploaded 接続してみる 1 21
  22. 22. • シナリオ 1. 検索(オンライン)でヒットした対象をダウンロード • [Box] name=dss_*  [ローカル] /tmp/* 2. ダウンロード済みのファイルを特定フォルダに移動 • [Box] /Downloaded 接続してみる 2 22
  23. 23. • シナリオ 1. 検索(キャッシュ)でヒットした対象をダウンロード • [Box] name=dss_*  [ローカル] /tmp/* 2. ダウンロード済みのファイルを特定フォルダに移動 • [Box] /Downloaded 接続してみる 2’ 23
  24. 24. まとめ
  25. 25. Boxに接続にあたって • APIのドキュメントは詳しくて作りやすい – リクエスト/レスポンスのJSONサンプルはありがたい • 一部処理の事前状態が整えるまで時間がかかる – View APIの表示用リンク作成 • リモートの状態を仮定せずに事前にチェックするべき – Content APIの検索処理 • フォルダもファイルも反映が遅い • リストした結果をローカルでキャッシュするべき 25
  26. 26. DataSpiderで開発するにあたって • RESTアダプタの秘める可能性 – RESTfulなAPIがあればどんなサービスにもつながる • 認可コードの取得方法 – 開発フェーズはHTTPトリガーで簡単に取得できる – 運用フェーズは工夫次第 1. 受付用ウェブサービスを別途用意して ⇒ DataSpider@クラウド、独立ウェブサーバ、... 2. DataSpiderサーバで受付用ウェブサービスと連携する ⇒ RESTアダプタ、Thunderbus、… 26
  27. 27. 【おまけ】
  28. 28. 全件削除処理 • View API • Content API 28
  29. 29. ユティリティ • ファイルハッシュ計算 FCIV: File Checksum Integrity Verifier (by Microsoft) http://www.microsoft.com/en-us/download/details.aspx?id=11533 29

×