VS Code APS エクステンション v3 利用 – 3-legged アクセス

VS Code APS エクステンションで 3-legged 認証フロー(3-Legged OAuth with Authorization Code Grant)を利用、Forma(Forma Data Management) や Fusion(Fusion Contributor)にアクセスして、プロジェクト内のデザインファイルにアクセス、Viewer で 表示するプロセスをご紹介します。

おおまかな手順は次のようなものになります。APS エクステンション内部で APS API の呼び出しをともなうものは、カッコ内に API 名を記しておきます。

  1. アプリ設定に APS エクステンション用の Callback URL を設定
  2. APS エクステンション環境の切り替え
  3. ユーザーコンテキストで明示的なサインイン(Authentication API)
  4. プロジェクト データにアクセス(Data Management API)
  5. 変換済デザインの Viewer 表示(Viewer SDK)
  6. 明示的なサインアウト(Authentication API)

  1. アプリ設定に APS エクステンション用の Callback URL を設定

VS Code APS エクステンション v3 利用 – 2-legged アクセス で作成したアプリ(Client ID)VS Code APS Extension Test に 3-legged 認証フローで利用する Callback URL を設定します。デベロッパーハブで VS Code APS Extension Test アプリ設定を開いて、General Settings >> Callback URL に vscode://petrbroz.vscode-forge-tools/callback を入力して(①)。[Save changes] ボタンをクリックして設定を保存します(②)。


  1. APS エクステンション環境の切り替え

VS Code 画面左手のアクティビティバーのオートデスク アイコンをクリック(③)、APS サイドバー を表示させたら、コマンド パレットで Autodesk Platform Services: Switch Environment コマンドを実行して「環境」を VS Code APS Extension Test に切り替えます(④)。


  1. ユーザーコンテキストで明示的なサインイン

APS サイドバーの Data & Derivatives (User) ペインにある [Sign in to APS] ボタンをクリック、サインインして Forma や Fusion がデータを保存しているストレージにアクセスします。

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

続けて入力パレットが表示されてサインイン タイプの選択を求められるので、「3-legged OAuth」を選択します。

  • アクティブになっている環境(VS Code APS Extension Test 環境のアプリ設定) Callback URL が指定されていないと、画面右下にエラーが表示されます。アプリ(Client ID)設定に APS エクステンション用の Callback URL を設定 を確認してください。

    既に Callback URL に vscode://petrbroz.vscode-forge-tools/callback を設定済の場合には、[Got it. don’t show again] ボタンをクリックして、次回以降の表示を抑止することが出来ます。

サインインに必要な Autodesk ID(オートデスク アカウント)のユーザー名とパスワード入力をWeb ブラウザを介しておこないます。次のダイアログが表示されたら、[開く(O)] ボタンをクリックします。

Forma、あるいは、Fusion でアクセス権を持つ Autodesk ID のユーザー名(メール アドレス)を入力して [次へ] をクリックします。

アカウントのパスワードを入力して [サインイン] をクリックします。

2段階認証のコード入力を求められたら、アカウントのメール アドレスに送られたコードをチェックしてコードを入力後、[次へ] をクリックします。

次のダイアログが表示されたら、[このデバイスを信頼する] ボタンをクリックします。

スコープ一覧を表示して、APS エクステンションがサインインしたアカウントのクラウドリソースへのアクセス許可(認可)を求めてきます。ここでは [許可] ボタンをクリックしてアクセスを許可します。

サインインに使用した Web ブラウザ上に次のダイアログが表示されたら、[Visual Studio Code を開く] ボタンをクリックします。

マウス操作で VS Code をアクティブにします。VS Code 上に次のダイアログが表示されたら、[開く] ボタンをクリックします。


  1. プロジェクト データにアクセス

正常にサインインが完了すると、 Data & Derivatives (User) ペインに、サインインしたアカウントがアクセス権を持つハブが表示されます。

ハブ名をクリックすると配下のプロジェクトが、プロジェクト名をクリックすると配下のフォルダーやファイルの一覧が表示されます。もちろん、フォルダー名をクリックすると、配下のフォルダーやファイルの一覧が表示されます。

  • Data & Derivatives (User) ペインに Forma のハブが表示されない場合には、アクティブな環境で使用している APS アプリ(Client ID)- ここでは VS Code APS Extension Test アプリの Client ID – が Forma ハブで「カスタム統合」されていない可能性があります。別の表現をするなら、APS エクステンションが Forma にアクセスする際にも、アクセスに使用する Client ID がカスタム統合されている必要があります。


  1. 変換済デザインの Viewer 表示

Data & Derivatives (User) ペインに表示されるハブ > プロジェクト > (フォルダー)> ファイルをナビゲートして Forma、あるいは、Fusion 側で変換済の Derivatives のノードを表示させます。次は、Fusion Contributor にあるデータのナビゲート例です。

具体的には、ファイル名のノード下にバージョン、バージョンのノードしたに変換済の Derivative を見つけたら、Viewer 表示したい名前の上でマウス右ボタンを クリックして、[View] > [Preview Derivative] の順に選択してください。

Forma Data Management の場合もデータ ナビゲーション方法は同様です。

3D モデルだけではなく、2D シート/レイアウトも Viewer 表示させることが出来ます。

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

  1. 明示的なサインアウト

APS エクステンションで 3-legged 認証フローでユーザー コンテキストでサインインすると、VS Code を再起動してもキャッシュされた情報でサインインを継続します。

明示的にサインアウトが必要な場合には、Data & Derivatives (User) ペイン上にマウス カーソルをホバーさせて、[Logout] のツールチップを表示する右手のアイコンをクリックしてください。

コマンド パレットにサインアウトの確認を求める選択肢が表示されたら、「Yes」をクリックします。

サインアウトすると、Data & Derivatives (User) ペインに表示されていたハブ配下の情報が消えて、次回のサインインに備えて [Sign in to APS] ボタンが表示されます。