今回はForgeのアクセストークンを利用してファイルのアップロード、変換処理まで紹介していくが、トークンの有効期限が切れている場合、処理を行えないので前回の記事を参考にトークンを再取得してくれ。

アップロード先のバケットを作成

では早速APIを利用してのアップロード手順を説明しよう。

まずはアップロード先のバケット(フォルダのようなもの)を作成する。

Postmanを起動し「3.-バケットの作成.postman_collection.json」をインポートしてくれ。

まずHeadersタブをクリックする。

AuthorizationのVALUEが「Bearer <Your Access Token>」となっているので、<Your Access Token>を取得しておいたアクセストークンに置きかえる。

次にBodyタブをクリック。

bucketKeyはユニークな名前でなければいけないので、あまり付けられてなさそうな名前を適当に選んでくれ。

policyKeyは次の3つのうち、いずれかを入力。

transient24時間で自動消去
temporary30日で自動消去
persistent自身で消去するまで保持

バケット自体は自身で削除しない限り永続的なものなので、このpolicyKeyではバケット内のファイル寿命を指定する。

ここでは「persistent」を入力することにしよう。

Sendボタンを押し「bucketKey」などのJSONレスポンスが返ってくればバケットの作成は成功だ。

バケットにファイルをアップロード

Postmanで「4.-デザイン-ファイルのアップロード.postman_collection.json」をインポートしてくれ。

まずはバケットの中身を確認しよう。

サイドメニューから「List objects in OSS」を選択。

Sendボタン左のURL欄に先ほど作ったバケットの名前を入力(:Your Bucket Nameのところ)し、Headersタブ「Authorization」のValueにアクセストークンを入力する。

Sendボタンを押すと下記のJSONレスポンスが返る。

{
    "items": []
}

現時点では何もファイルをアップロードしていないのでこれで良い。

次にサイドメニューから「Upload a file to bucket」を選択し、例によってHeadersタブでアクセストークンを貼り付ける。

次にURL欄の「:Your Bucket Name」にバケット名を「:Your Design File」にアップロードするファイル名を入力。

Bodyタブ直下のラジオボタンで「binary」を選択し「Select file」からファイルを選択する。

ここではサンプルとして前回の記事でcloneしてきたプロジェクトのmodelディレクトリから「Chair.f3d」を選択してくれ。

これでSendボタンを押すと「objectId」などのJSONレスポンスが返り、アップロードが完了する。

では、あらためてバケットの中身を見ていこう。

先ほど紹介した手順のとおり「List objects in OSS」からAPIを叩くと、先ほどアップロードしたファイルの情報が返ってくる。
このうち「objectId」の値が後で必要となるのでコピーしておく。

ひとまずここまでの手順でForgeクラウド上のバケットに3Dモデルのファイルをアップロードすることができた。

Model Derivative APIによるファイル変換

Postmanで「5.-変換リクエスト.postman_collection.json」を開き、サイドメニューから「Convert for viewing」を選ぶ。

例によりHeadersタブからアクセストークンを入力しよう。

次にBodyタブへ進み「Your Encoded URN」を入力する。

ここで入力する値は先ほどコピーしておいたobjectIdをBase64エンコードした値となるので、コピーした値を変換サイトなどでBase64形式に変換しよう。

変換した値を貼り付けSendボタンを押し、result: “success”と返ってくれば変換処理は完了だ。

これでアップロードしたファイルがSVFというファイル形式に変換され、Forge Viewerで利用することができるようになる。

なお、アクセストークンの有効期限は3599秒(約1時間)となっているため、作業中に期限が切れてしまった場合、APIによる再取得が必要となるので注意。

次回の記事からはNode.jsのコードを触っていこう。