VS Code APS エクステンションで Secure Service Account(SSA)を利用して Forma(Forma Data Management) や Fusion(Fusion Contributor)にアクセス、プロジェクト内のデザインファイルにアクセス、Viewer で表示するプロセスをご紹介します。

おおまかな手順は次のようなものになります。APS エクステンション内部で APS API の呼び出しをともなうものは、カッコ内に API 名を記しておきます。
- Secure Service Account(SSA)の作成とアクセス設定
- APS エクステンション環境の設定と切り替え
- SSA でサインイン(Authentication API)
- プロジェクト データにアクセス(Data Management API)
- 変換済デザインの Viewer 表示(Viewer SDK)
- 明示的なサインアウト(Authentication API)
- Secure Service Account(SSA)の作成とアクセス設定
Autodesk Developer Blog : SSA Manager によるアクセストークンの取得 で SSA ロボット アカウントを作成します。

作成したロボット アカウントを Forma Data Management や Fusion Contributor のプロジェクトにアクセス出来るように設定します。ここでは、Forma で Autodesk Developer Advocacy ハブの Toshiaki-Forma-Project-0 プロジェクトと、Fusion で APS Japan Hub ハブの MyProject プロジェクトにロボット アカウントをプロジェクト メンバーとして追加、Forma にはプロジェクトのトップフォルダーにアクセス権を付与したものとします。

- APS エクステンション環境の設定と切り替え
SSA ロボット アカウントを作成した ”Server-to-server App” のアプリタイプのアプリ(Client ID)を環境に追加してください。ここでは aps-mcp-server-nodejs としておきます。
次に、VS Code を起動して画面左手のアクティビティバーのオートデスク アイコンをクリック(①)、APS サイドバー を表示させたら、コマンド パレットで Autodesk Platform Services: Switch Environment コマンドを実行して「環境」を aps-mcp-server-nodejs に切り替えます(②)。

- APS エクステンション環境の切り替えは、VS Code APS エクステンション v3 利用 – セットアップ の APS エクステンションの使用「環境」の切り替え でご案内しています。
- SSA でサインイン
APS サイドバーの Data & Derivatives (User) ペインにある [Sign in to APS] ボタンをクリック、サインインして Forma や Fusion がデータを保存しているストレージにアクセスします。

次のダイアログが表示されたら、[許可(A)] ボタンをクリックします。

入力パレットが表示されて、続いて、サインイン タイプの選択を求められるので、「Secure Service Account」を選択します。

- アクティブになっている aps-mcp-server-nodejs 環境のアプリ(Client ID)で SSA を作成していないと、右下にエラー メッセージが表示されます。

アクティブになっている環境で作成したロボット アカウント(メールアドレス)がリストされるので、使用するロボット アカウントを選択します。

続いて、SSA_KEY_ID (SSA Manager によるアクセストークンの取得 の 7. でご案内している kid)を選択します。

最後の SSA の秘密鍵(Private Key)を持つ .pem ファイルの指定を求められます。使用する SSA ロボット アカウントの作成時にダウンロードした .pem ファイルを選択します。

- 選択したロボット アカウントと .pem ファイルの内容が一致しないと、右下にエラー メッセージが表示されます。

SSA でアクセス トークンを生成する際のスコープ(Scope)を措定します。データ アクセス時に必要な Scope にチェックを入れて、右手の [OK] ボタンをクリックします。

SSA でのサインインが完了すると、Secure Service Accounts (App) ペインにサインインに使用した SSA ロボット アカウント(メール アドレス)と SSA_KEY_ID が表示されます。

- アクティブな環境が持つ Client ID に紐づいた SSA ロボット アカウントがあると、Secure Service Accounts (App) ペインへの SSA ロボット アカウント(メール アドレス)と SSA_KEY_ID 表示は、2. の APS エクステンション環境の設定と切り替え をした時点で反映されます。
- プロジェクト データにアクセス
正常にサインインが完了すると、 Data & Derivatives (User) ペインに、サインインしたロボット アカウントがアクセス権を持つハブが表示されます。
ハブ名をクリックすると、配下のプロジェクトが、プロジェクト名をクリックすると、配下のフォルダーやファイルの一覧が表示されます。もちろん、フォルダー名をクリックすると、配下のフォルダーやファイルの一覧が表示されます。
- Data & Derivatives (User) ペインに Forma のハブが表示されない場合には、アクティブな環境で使用している APS アプリ(Client ID)、ここでは aps-mcp-server-nodejs アプリの Client ID が Forma ハブで「カスタム統合」されていない可能性があります。別の表現をするなら、APS エクステンションが Forma にアクセスする際にも、アクセスに使用する Client ID がカスタム統合されている必要があります。
- カスタム統合については、ACC:新しいカスタム統合 UI の記事でご案内しています。
- 変換済デザインの Viewer 表示
SSA でサインインした Forma、Fusion 内の変換済 Derivative の表示、および、メタデータの取得方法は、VS Code APS エクステンション v3 利用 – 3-legged アクセス の 5. と同様です。

- Forma、Fusion データ共に、ファイルをマウス右クリックすると Translation メニューが表示しますが、Forma Data Management、Fusion Contributor 側でデータがバージョン管理されているため、APS エクステンション側から変換処理をトリガーすることは出来ません。
- VS Code APS エクステンション v3 利用 – 2-legged アクセス 同様、マニフェストやメタデータを取得することが可能です。
- 明示的なサインアウト
SSA でサインインした状態からのサインアウト手順は、VS Code APS エクステンション v3 利用 – 3-legged アクセス の 6. と同様です。

サインアウトすると、Data & Derivatives (User) ペインに表示されていたハブ配下の情報が消えて、次回のサインインに備えて [Sign in to APS] ボタンが表示されます。
- Secure Service Accounts (App) ペイン補足
Secure Service Accounts (App) ペインに SSA ロボット アカウント(メール アドレス)と SSA_KEY_ID が表示された状態では、ロボット アカウント名をマウス右クリックして、メニューからロボット アカウントの詳細を表示させることが出来ます。

ロボット アカウント下に表示される SSA_KEY_ID をマウス右クリックすると、.pem ファイルとスコープの選択を経て、アクセス トークンを生成することも出来ます。取得したアクセス トークンは、ロボット アカウントに許可したプロジェクト(やフォルダー)のみにアクセスを権限を持つことになります。


You must be logged in to post a comment.