Forge Platform API の多くは、オートデスクのクラウドに対してリソースをリクエストしたり、処理をさせたりする目的で RESTful API を使用しています。RESTful API には、そのリクエスト内容によっていくつかのメソッドが定義されています。よく利用される代表的なメソッドは次のとおりです。
- GET – Web サービスでリソースの取得に利用されるメソッド
- POST – Web サービスで新しいリソースの作成に利用されるメソッド
- PUT – Web サービスでリソースの更新に利用されるメソッド
- PATCH – Web サービスでどう編集されるべきかを記述してリソースを更新するメソッド
- DELETE – Web サービス上のデータ アイテムの削除に利用されるメソッド
RESTful API は HTTP プロトコルを利用して各種メッセージをサーバー(クラウド)にリクエストします。このとき、Header と Body にリクエストに必要なパラメータを指定することになります。Forge Platform API でも、、当然、この方法に沿ってリクエストをすることになります。
Forge に限らず、RESTful API をテストする場合には、いきなりコーディングして 個々の endpoint (エンドポイント) を呼び出すのではなく、事前にテストしたい場合があります。そのような場面では、Web 上で公開されてるテスト ツールを利用することが出来ます。無償ツールも含め、非常に多くのツールが公開されていますので、インターネット検索で "restful api テストツール" のキーワードを使って検索してみてください。
オートデスクも、過去類似したテスト ツール API Console をデベロッパ ポータルに搭載していた時期がありますが、現在では、次のツールを説明時などに利用しています。それぞれ、記載された URL からダウンロードしてインストールすることが出来ます。
- Fiddler - http://www.telerik.com/fiddler
- Postman - https://www.getpostman.com/
オートデスクが Forge Viewer、A360 Viewer とも呼ばれる Viewer を実装テストする場合には、Google Chrome を基準にテストしているので、ここでは、Google アプリとして公開されていて親和性の高い Postman を使って、簡単に RESTful API のテスト方法をご紹介しましょう。
オートデスクのデスクトップ製品用アドイン開発では、どうしても Windows が主体になりがちですが、Web 開発では Mac が好まれる傾向もあります。その意味で、Postman が Mac でも利用できるという利点もあります。
Forge Platform API を利用する際に最初に利用する RESTful API に、Access Token を取得する Authenticate API(OAuth API)があります。いわゆる認証処理ですが、この endpoint の詳細は、デベロッパ ポータルに記載されています。2-legged 認証の場合には、https://developer.autodesk.com/en/docs/oauth/v2/reference/http/authenticate-POST/ に呼び出しに必要な情報(endpoint、header、body)が記載されています。
この記述からは、次の情報を読み取ることが出来ます。
- POST メソッドを利用
- endpoint は https://developer.api.autodesk.com/authentication/v1/authenticate
- Header には Content-Type パラメータに application/x-www-form-urlencoded 値の指定が必須(Required が Yes)
- Body には、次のパラメータと対応する値の設定が必須
この呼び出しは、次の手順で Postman でテストすることが出来ます。なお、ここでは認証処理をテストすることになるので、Authirization タブは利用しないことにしています。
- Postman を起動
- メソッドを POST に変更して、その右隣に endpoint を入力
- Headers タブをアクティブにして Content-Type パラメータと値 application/x-www-form-urlencoded を入力
- Body タブをアクティブにして、client_id、client_secret、grant_type、scope の各パラメータと対応する値をそれぞれ入力
- 画面右上にある Send ボタンをクリック
正しく実行されると、このリクエストに対するステータスと応答メッセージが返されます、応答メッセージには、 JSON 形式が採用されています。ここでは、Access Token の値として 7oPR4ha6kavJOMa96SIr5fSgx76F の文字列が返されていることがわかります。expires_in に示されている値は、この Access Token の有効期間です(秒単位)。
一度テストした RESTful 呼び出しは、endpoind 毎に名前を付けて保存しておくことも出来ます。他の endpoint も同様にテストして保存しておくと、コーディングを始めた後にプログラム上で問題が発生した場合でも、コード上の問題なのか、endpoint を含む API 側の問題なのか、切り分けの判断で利用することが出来るので便利かもしれません。
始めて RESTful API に触れる方は、ぜひ試してみてください。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。