2018/08/03現在 下記手順での接続ができなくなっている模様です。ご注意ください。
現状での接続例としては以下の記事を参考にしてみて下さい!
どうもこんにちは。
技術部 對馬です。
前回のBoxにつなげてみた前編では、「BOXにつなげてみた!」というタイトルにもかかわらず、OAuth2.0認証オンリー記事になってしまいました。
今回はようやくBoxそのものと連携していきます!
お待たせしました!いざ!連携です!!
Boxにつなげてみた~アップロードデモ~
Box連携デモを用意しました。
Box上にフォルダを作成し、ローカルファイル(テキストと画像ファイル)をアップロードします。
このシナリオをスクリプトに書くと、こんな感じです。
▲BOX連携デモスクリプト
それでは詳しく中身を見ていきましょう。
アクセストークン準備
まずアクセス初回なので、「アクセストークン準備」のスクリプトを呼び出し、Boxと連携するための準備を整えていきます。
ここで前回お話ししたOAuth2.0認証が行われ、トークンが準備されます。
詳しくは 前回のBlogで!!
(あのブログの内容が、アイコン1つで片付いちゃうなんて…。私は…私は…わなわな)
フォルダ作成
そして、アクセストークン取得が完了したら、今度は今回アップロードするためのフォルダを作成します。
フォルダ作成もスクリプト呼び出し処理で実行されているので、スクリプトを見ていきましょう。
▲フォルダ作成スクリプト
まずは要求パラメータを設定します。
フォルダ作成に必要なパラメータは以下の通りです。
【パラメータ】
Name:フォルダ名を指定します。
Parent:親フォルダがある場合は指定します。ない場合は"0"。
Id:フォルダ作成後IDが振り分けられます。
パラメータの設定をしたら、RESTアダプタを使って、Folder作成のPOST処理を作成します。
アダプタ内の設定は以下の通りです。
▼接続設定
あとはFolder名とIdを一時保存します。
これでRESTによるフォルダ作成は完了です。
また、スクリプト呼び出し処理の入出力設定で、先ほど指定したパラメータのフォルダ名などの変数を分けて設定しておきます。
またBox APIの詳細は、 Box Developerで公開されているので
そちらも参考にしてください!!!!断じて丸投げではない!!
アップロード準備~アップロード処理
それでは全体のデモスクリプトに戻ります。
ローカルファイル一覧:アップロードするローカルファイルを指定します。
Foreach:ローカルファイル件数分、処理を繰り返します。
ファイル名設定:各データにファイル名を変数に保存します。アップロード処理の際に使います。
ハッシュ計算:FCIVを起動してハッシュ値を計算するスクリプトを呼び出しています。
呼び出し元であるハッシュ計算スクリプトを見てみましょう。
外部アプリケーション起動処理で、FCIV(File Checksum Integrity Verifier (by Microsoft))を実行します。
FCIVで計算したファイルのSHA-1 のハッシュ値は、アップロード中の改ざんを防ぐために使用されます。
計算が済んだら、いよいよファイルのアップロードを行います。
まずはパラメータを準備します。
【パラメータ】
・attribute:ここでファイル名(name)と親フォルダ(parent:id)を指定します。
・file:アップロードファイルを指定します。
そしたらRESTでアップロード!!
▼接続設定
アップロードスクリプトが完成したら、スクリプト呼び出し処理の設定をします。
呼び出し処理の入出力画面で、アクセストークン、ハッシュ等を指定します。
▲アップロードスクリプト呼び出し処理
そして[ファイル名設定]~[アップロード]までを、ローカルファイル件数分繰り返します(Loop処理)。
ぐーるぐーる。
いざアップロード
今回のデモでは、画像ファイル2件とローカルにあるテキストファイル「ほげほげ」をアップロードします。
画像ファイルはdstnの妖精くも子ちゃんともっくんです。
彼らをクラウド(実家?)に送り込みます。
▲アップロード用ファイル
では実行。
いってらっしゃい!!
とう。
ぐーるぐる・・
はい!
成功しました!
Boxではどうでしょう。
くも子ちゃんたちが無事にアップロードされていますね!
というわけで、Boxとの連携もこのようにばっちり行えるクモ!(くも子憑依)
まとめ
このようにOAuth2.0認証もスクリプトで作ることができる!
DataSpider で、連携は作れる!ということが再確認できたデモとなりました。
シナリオを作り、その実現を目指してDataSpider でスクリプトを作成していくのは、パズルみたいで楽しくできます。
そんなパズル感覚で、ぜひいろいろな連携処理を試してみてください!