DataSpiderを使ってAutodesk Forgeプラットフォーム連携を試してみる

#Autodesk Forgeプラットフォームとは
Autodesk ForgeプラットフォームはAUTODESK社が提供するクラウドサービスで様々な機能がWebサービスAPIとして提供されています。詳しくは[こちら](http://adndevblog.typepad.com/technology_perspective/2016/01/autodesk-forge-platfotrm.html)をご確認ください。

#やりたいこと
数多くのAPIが用意されていますがDataSpiderは画面側の機能がないので、データを変換するサービス**`Model Derivative API`**の**`GET formats`**メソッドをコールしてみようと思います。

#FORGE Platform上にアプリを作成する
 1. [FORGE Platform APIs(https://developer.autodesk.com/)](https://developer.autodesk.com/)にてサインアップします。

 2. MyAppsで`CREATE APP`をクリックしアプリを作成します。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/0acd5514-4872-48a0-5075-82adfaa7faf1.png)

 3. 利用したいサービスを選択、アプリ名称入力、Callback URLには`http://localhost`を入力しておきます。設定が終わったら`CREATE APP`をクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/2560c369-f90e-10ca-26f0-64293d9a900e.png)
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/81a07a6f-8d0f-7ec9-af69-495a8be76e5d.png)

 4. DataSpider上で利用するのでメモしておきましょう。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/6abad5f9-b257-3ae9-b783-0695b99e7981.png)

#APIの確認
 1. My APPsの上部にある`APIs`から確認したいAPIドキュメントを参照する。すべてのAPIの最初に**`Authentication(OAuth)`**をコールする必要があるので、このふたつのReferenceを確認します。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/cba216e3-d2ad-8cf0-9fff-9e7b7e058d9d.png)

 2. [Authentication(OAuth)](https://developer.autodesk.com/en/docs/oauth/v2/reference/http/authenticate-POST/)の確認
  - API Referenceから[`POST authencate`](https://developer.autodesk.com/en/docs/oauth/v2/reference/http/authenticate-POST/)を選択してパラメータを確認します。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/82386da0-4c04-b7f0-3059-dd98e86d21c4.png)

 3. [Model Derivative API](https://developer.autodesk.com/en/docs/model-derivative/v2)の確認
  - API Referenceから[`GET formats`](https://developer.autodesk.com/en/docs/model-derivative/v2/reference/http/formats-GET/)を選択してパラメータを確認します。
  ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/45720554-a336-dceb-234e-4efea46b3b92.png)


#DataSpiderで実装します。
1. 実装結果<br>
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/ec955b0d-a808-f1bf-b292-4cb8169f802b.png)<br>
設定内容を確認していきます。
2. 認証処理「OAuth」
 - 基本設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/9b9e0a91-aea8-f3e3-d5ac-f581b8af7232.png)
 - リクエスト設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/64946636-94cd-ce08-55b8-8eefb12970ee.png)
 - レスポンス設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/88cdd0bb-80a5-9fb3-a381-81b819d1bd36.png)
 - ヘッダ設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/b826fabf-77f0-7555-2b9d-8202eaa2ea8d.png)<br>
 - マッパーの設定<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/7495efd8-30de-d4b5-89ed-e2ec49d0e89a.png)<br>

 - レスポンス設定で利用したJSONデータ<br>
 
```JSON 
{
  "token_type": "Bearer",
  "expires_in": 1799,
  "access_token": "Ff387cyQXw1elOT3nldiFIKBqDOs"
}
```

3. 取得処理「GET formats」
 - 基本設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/2050c758-c5a2-6449-af3b-259da585dc35.png)
 - レスポンス設定タブ<br>
 ![image](https://qiita-image-store.s3.amazonaws.com/0/35843/88cdd0bb-80a5-9fb3-a381-81b819d1bd36.png)
 - ヘッダ設定タブ<br>
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/f27aa6ad-7459-7a9e-a95e-8a1c7ee1bcaa.png)<br>
-`${token}`はスクリプト変数で、前処理のOAuth処理の結果取得したTokenを利用するようにしています。
 - マッパーの設定<br>
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/c5458314-976c-f4f3-1f5d-501b8b8388cc.png)

#処理の実行
- デバッグ実行ボタンをクリックし、取得されたファイルを確認すると、正しく取得されていることがわかります。<br>
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/8863e004-1c17-70c9-3214-a023e57a0379.png)