A360 View and Data Web サービス API は、Apigee プラットフォームを利用して公開されています。これによって、REST API をシミュレーションすることが出来る API Console(API コンソール)を利用することが可能になっています。

API Console を利用することで、REST API を利用して View and Data API や認証システムをテストすることが出来ます。実際にプログラムを記述し始める前でも、既にコードを持っている場合でも、最新の API を評価できるので、API 側の更新(バージョンアップ)の変更点を容易に把握することができます。
API Console 左手には、あたらじめ View and Data API で利用することになる REST API がプリセットされています。どれかを選択することで、GET、POST、PUT、DELETE といった REST API のリクエスト タイプとともに、必要になるヘッダーやボディを入力する項目が表示されます。

それでは、いくつかのサービスを API Conole で試してみましょう。まず、 認証を得る必要があります。Autodesk Web Services ポータル で Consumer Key と Consumer Secret を取得する必要があります。取得手順については、以前の ブログ記事 で紹介していますのでご参照ください。
API Console のプリセットから authenticate を選択すると、Body タブに (アスタリスク)が付いた状態でリクエストが設定されます。 記号は、リクエストに必須となる情報であることを意味します。ここでは、Consuer Key と Consumer Secret を、それぞれ、client_id と client_secret に入力します。

入力が完了したら、画面右上の Send ボタンをクリックすると、右下の Response 欄に REST API の応答が表示されるはずです。200 が正常終了を示すステータスです。この中に、その後の API アクセスで必要になる アクセス トークン です。

ここで使った authentication REST API の詳細は、Autodesk Developer ポータルのドキュメントに記載されています。
次に、現在の View and Data API がサポートするファイル形式をチェックする get supported extentions info を利用してみます。ここで利用するのは、Supported API です。プリセットを選択すると、Headers タブに * が付いているはずです。Headers タブには、先の認証レスポンスで取得したアクセス トークンを指定します。この時、トークン タイプである ”Bearer” を半角スペースを挟んで指定してください。

先程と同様に、 Send ボタンをクリックすればサポートされているファイル拡張子の一覧を Response 欄で確認することが出来るはずです。プログラムでは、これらは Json 形式で取得することになります(2014年11月3日現在)。
{
“extensions”: [
“ipt”,
“neu”,
“stla”,
“stl”,
“xlsx”,
“jt”,
“jpg”,
“skp”,
“prt”,
“dwf”,
“xls”,
“png”,
“sldasm”,
“step”,
“dwg”,
“zip”,
“nwc”,
“model”,
“sim”,
“stp”,
“ste”,
“f3d”,
“pdf”,
“iges”,
“dwt”,
“catproduct”,
“csv”,
“igs”,
“sldprt”,
“cgr”,
“3dm”,
“sab”,
“obj”,
“pptx”,
“cam360”,
“jpeg”,
“bmp”,
“exp”,
“ppt”,
“doc”,
“wire”,
“ige”,
“rcp”,
“txt”,
“dae”,
“x_b”,
“3ds”,
“rtf”,
“rvt”,
“g”,
“sim360”,
“iam”,
“asm”,
“dlv3”,
“x_t”,
“pps”,
“session”,
“xas”,
“xpr”,
“docx”,
“catpart”,
“stlb”,
“tiff”,
“nwd”,
“sat”,
“fbx”,
“smb”,
“smt”,
“ifc”,
“dwfx”,
“tif”
],
“channelMapping”: {
“ipt”: “viewing-inventor-lmv”,
“neu”: “viewing-atf-lmv”,
“stla”: “viewing-atf-lmv”,
“stl”: “viewing-atf-lmv”,
“xlsx”: “extraction-tika”,
“jt”: “viewing-atf-lmv”,
“jpg”: “extraction-tika”,
“skp”: “viewing-atf-lmv”,
“prt”: “viewing-atf-lmv”,
“dwf”: “viewing-dwf-lmv”,
“xls”: “extraction-tika”,
“png”: “extraction-tika”,
“sldasm”: “viewing-atf-lmv”,
“step”: “viewing-atf-lmv”,
“dwg”: “viewing-dwg-lmv”,
“zip”: “viewing-assimp”,
“nwc”: “viewing-nwd-lmv”,
“model”: “viewing-atf-lmv”,
“sim”: “viewing-sim-lmv”,
“stp”: “viewing-atf-lmv”,
“ste”: “viewing-atf-lmv”,
“f3d”: “viewing-f3d-lmv”,
“pdf”: “extraction-tika”,
“iges”: “viewing-atf-lmv”,
“dwt”: “viewing-dwg-lmv”,
“catproduct”: “viewing-atf-lmv”,
“csv”: “extraction-tika”,
“igs”: “viewing-atf-lmv”,
“sldprt”: “viewing-atf-lmv”,
“cgr”: “viewing-atf-lmv”,
“3dm”: “viewing-atf-lmv”,
“sab”: “viewing-atf-lmv”,
“obj”: “viewing-assimp”,
“pptx”: “extraction-tika”,
“cam360”: “viewing-cam-lmv”,
“jpeg”: “extraction-tika”,
“bmp”: “extraction-tika”,
“exp”: “viewing-atf-lmv”,
“ppt”: “extraction-tika”,
“doc”: “extraction-tika”,
“wire”: “viewing-atf-lmv”,
“ige”: “viewing-atf-lmv”,
“rcp”: “viewing-rcp-lmv”,
“txt”: “extraction-tika”,
“dae”: “viewing-assimp”,
“x_b”: “viewing-atf-lmv”,
“3ds”: “viewing-assimp”,
“rtf”: “extraction-tika”,
“rvt”: “viewing-rvt-lmv”,
“g”: “viewing-atf-lmv”,
“sim360”: “viewing-sim-lmv”,
“iam”: “viewing-inventor-lmv”,
“asm”: “viewing-atf-lmv”,
“dlv3”: “viewing-atf-lmv”,
“x_t”: “viewing-atf-lmv”,
“pps”: “extraction-tika”,
“session”: “viewing-atf-lmv”,
“xas”: “viewing-atf-lmv”,
“xpr”: “viewing-atf-lmv”,
“docx”: “extraction-tika”,
“catpart”: “viewing-atf-lmv”,
“stlb”: “viewing-atf-lmv”,
“tiff”: “extraction-tika”,
“nwd”: “viewing-nwd-lmv”,
“sat”: “viewing-atf-lmv”,
“fbx”: “viewing-atf-lmv”,
“smb”: “viewing-atf-lmv”,
“smt”: “viewing-atf-lmv”,
“ifc”: “viewing-nwd-lmv”,
“dwfx”: “viewing-dwf-lmv”,
“tif”: “extraction-tika”
},
“regExp”: {
“prt\\.\\d+$”: “viewing-atf-lmv”,
“neu\\.\\d+$”: “viewing-atf-lmv”,
“asm\\.\\d+$”: “viewing-atf-lmv”
},
“formatMapping”: {}
}
より複雑なリクエストを利用する場合には、Body に直接 Json を記載することも可能です。例えば、create bucket の例を見てみましょう。Create Bucket API のドキュメント記述では、Bucket のポリシーとともに、リクエストのパラメータが Json 形式で記載されていることがわかります。
POST /oss/v1/buckets HTTP/1.1
Content-Type: application/json
{
“bucketKey” : “afs_my_us”,
“policy” : “transient”
}
この情報を API Console に入力する場合には、Headers タブと Body タブに、それぞれ、次のように入力します。


簡単な紹介でしたが、API Console では、このような方法で REST API をテストすることが出来ます。より深い操作をおこなう場合には、API Console よりも、プログラムをコーディングしてプロトタイプでテストしていくほうが効率的かもしれません。View and Data API の REST API 部分は、GitHub 上でも JavaScript 版 と .NET 版のライブラリが公開されていますので、ぜひ参照してみてください。
By Toshiaki Isezaki

Leave a Reply