Model Derivative API と Data Management API を評価出来るサンプルとして、以前、新しい機能を評価する Forge API サンプル のブログ記事をご紹介したことがあります。その後、2016 年 11 月の 新機能の追加 にともない、Callback URL などの一部の処理も含め、GitHub リポジトリの内容が変更されていて、従来のブログ記事の手順ではローカル コンピュータでのセットアップが出来なくなっています。今回は、新しく更新された model.derivative-nodejs-sample サンプルのローカルコンピュータへのセットアップについて、再度をまとめておきたいと思います。
リポジトリの内容からローカル ブランチを作成するには、事前に Git Shell や Node.js をセットアップしておく必要があります。また、ブランチ内のソースコードを編集していく過程では、Forge で利用する Client ID と Client Secret(Consumer Key と Consumer Secret)を事前に デベロッパ ポータル から取得しておく必要があります。これらの手順は、それぞれ、次のブログ記事でご案内しています。
セットアップ
- Autodesk ID でデベロッパ ポータルにサインインして、My Apps にアプリを登録します。アプリ登録の際には、Select the APIs you want to use in your app 欄から Model Derivative API と Data Management API にチェックを入れてください。また、Callback URL には、このサンプルをクライアント コンピュータでローカルに使用する http://localhost:3000/api/forge/callback/oauth を指定します。
既にアプリが登録されている場合には、個々のアプリ ページ下部にある [EDIT > ] リンクから、使用する API や Callback URL を編集することが出来ます。

- Web ブラウザで GitHub 上の model.derivative-nodejs-sample リポジトリ ページを開きます。
- 画面右側の [Clone or download] ボタンをクリックして、表示される URL https://github.com/Autodesk-Forge/model.derivative-nodejs-sample.git をクリップボードにコピーておきます。

- GitHub 上のプロジェクトを 、リポジトリから開発に使用するクライアント コンピュータにコピーします。Git Shell を起動して、git clone https://github.com/Autodesk-Forge/model.derivative-nodejs-sample.git と入力します。この処理が完了すると、C:Users<Windows ログイン ユーザ名>DocumentsGitHub フォルダ下に model.derivative-nodejs-sample フォルダが作成され、GitHub リポジトリからソースコードがコピーされます。

- コピーされたプロジェクトに Node.js で必要となるミドルウェア パッケージをインストールします。Node.js command prompt を起動して、CD コマンドで現在のフォルダを C:Users<Windows ログイン ユーザ名>DocumentsGitHubmodel.derivative-nodejs-sample フォルダへ移動してから、npm install と入力します。

module.exports = {
// this this callback URL when creating your client ID and secret
callbackURL: process.env.FORGE_CALLBACK_URL || 'http://localhost:3000/api/forge/callback/oauth',
// set enviroment variables or hard-code here
credentials: {
client_id: process.env.FORGE_CLIENT_ID || 'Pj7SECpCP820kyYKa1wQKVAy04FK5oKn',
client_secret: process.env.FORGE_CLIENT_SECRET || 'ZpAS0I4YuHyOEjbF'
},
// Required scopes for your application on server-side
scopeInternal: [
'viewables:read', 'data:read', 'data:write', 'data:create', 'data:search',
'bucket:create', 'bucket:read', 'bucket:update', 'bucket:delete'
],
// Required scope of the token sent to the client
scopePublic: ['viewables:read']
};
- Node.js command prompt 上で npm run dev と入力して、Web サーバーを起動します。node start.js と入力して Web サーバーを起動することも出来ます。
- ここまでの手順でセットアップが完了です。WebGL 対応の Web ブラウザを開いて、http://localhost:3000/ の URL でページを開いてみてください。
動作テスト
画面上の [Log In] ボタンをクリックすると、Callback URL にリダイレクトされてオートデスクのクラウド サービスにアクセスするためのサインイン画面に遷移します。

このサンプルは、ここでサインインしたユーザだけがアクセス出来るストレージ領域にアクセスしようとします。このため、初回アクセスの場合のみ、サインインしたユーザに対して、アプリにストレージへのアクセス権を与えるかの確認を求められます。
ここで [許可] をすることで、model.derivative-nodejs-sample サンプル アプリがユーザのストレージ領域にアクセス出来るようになります。

アクセス許可が与えられると、A360など、サインインに使用した Autodesk ID に関連付けられた Hub と 配下の Project、その下の Folder、Item、Version の階層をツリー表示するはずです。

プロジェクト内のツリーからデザイン ファイルをクリックすると、Viewer 上にデザインを表示させることが出来ます。A360 プロジェクト内の同一ファイルであっても、時計アイコンでバージョンが個別に示されていて、それぞれを表示したり、モデル内の属性を取得したりすることが出来ます。
選択したデザイン ファイルは、ファイル形式毎にサポートされている他のファイル形式に変換、ダウンロードすることが出来ます。これは、Model Derivative API の機能です。
また、2016 年 11 月に追加された Data Management API のアタッチメント機能では、テキスト ファイルや画像ファイルなど を指定した Version に直接関連付けることも出来ます。
By Toshiaki Isezaki

You must be logged in to post a comment.