ITメモ

ITのこと学習中

Postmanを利用してBusiness CentralのWebサービス(OData、API)にアクセスする

Postmanを利用してBusiness CentralのWebサービス(OData、API)にアクセスし、データを取得する方法を簡単に紹介。

1.Microsoft Entraでアプリケーションを設定し、シークレット値等の情報を取得する。

2.(1.の設定によるが)Business CentralのEntra Application を設定してアクセスできるアカウントを作成する。

3.Postmanの設定を行い、Business CentralのWebサービスへアクセスしてデータを取得する。

 

1. Microsoft Entraでアプリケーションを設定し、シークレット値等の情報を取得する。
Microsoft Entra管理センターにアクセスし、アプリの登録を行う。アプリの名前、サポートされるアカウントの種類、リダイレクトURIを設定する。リダイレクトURIは、Webを選択し、URIはオンライン版Business Centralでは「https://businesscentral.dynamics.com/OauthLanding.htm」を入力する。これはオンライン版とオンプレ版で異なるので詳しくはこちらのページで確認してください。

Microsoft Entra管理センターでアプリの登録

Microsoft Entra管理センター


次に、APIのアクセス許可を設定します。APIのアクセス許可から、アクセス許可の追加をクリックし、Dynamics 365 Business Centralを選択します。「委託されたアクセス許可」と「アプリケーションの許可」の2種類ありますが、今回は「アプリケーションの許可」を選択しクリックします。
API.ReadWrite.AllとAutomation.ReadWrite.Allにチェックを入れ「アクセス許可の追加」をクリックして設定します。

APIのアクセス許可でAPI.ReadWrite.AllとAutomation.ReadWrite.Allを有効化

APIのアクセス許可


続いてクライアントシークレット値を設定します。証明書とシークレットより、新しいクライアントシークレットを追加します。説明と有効期限を設定します。有効期限は最長2年です。作成したシークレット値はコピーして自分がわかるところに保存しておきます。Entra管理ページから離れると、シークレット値は再表示されません。

クライアントシークレットの追加

証明書とシークレット

その他、アプリケーション(クライアント)ID、アプリの名前、OAuth2.0トークンエンドポイントなどコピーして別途保存しておくと便利です。

Entraに登録したAppの概要情報



2.(1.の設定によるが)Business CentralのEntra Application を設定してアクセスできるアカウントを作成する。
Business Central側の設定を行います。Business Centralのカンパニーにアクセスし、Microsoft Entra Applicationを検索すると、Microsoft Entra Applicationのリストが表示されます。あらかじめ3つのアプリケーションがありますが、それらはPower PlatformやDataverse用です。
新規をクリックして、新しくApplicationを登録します。Client IDにはアプリケーション(クライアント)IDを、Descriptionにはアプリの名前を入力します。StateをEnabledへ変更します。メッセージが表示されるので、「はい」を選択します。
次に、このApplicationのUser Permission Setsを設定します。Microsoft Learnで紹介されている通り「D365 AUTOMATION」と「EXTEN. MGT. - ADMIN」を追加します。説明文はコロコロ変わるので、念のため「D365 FULL ACCESS」も追加しておきます。
このApplicationとEntraとの接続の同意を行うため「Grant Consent」をクリックしてアクセス許可を行います。

Microsoft Entra Application Card in Business Central

Microsoft Entra Application Card in Business Central

これでBusiness CentralへWebサービスを利用して外部からアクセスする準備が整いました。

 

3.Postmanの設定を行い、Business CentralのWebサービスへアクセスしてデータを取得する。
Postmanで、Business CentralのWebサービスにアクセスする設定を行います。AuthorizationではOAuth2.0を選択し、Access Token URL、Client ID、Client Secret、Scopeを入力します。Access Token URLにOAuth 2.0 トークン エンドポイント (v2)、Client IDにアプリケーション(クライアント)ID、Client Secretに先ほど作成しコピーしたシークレット値を設定します。Scopeには「https://api.businesscentral.dynamics.com/.default」を設定します。

Client ID、Client Secret、Scope設定


設定後「Get New Access Token」をクリックしてトークンを取得できればOAuth2.0認証は成功です。
その後、Business CentralのWebサービスのURL(OData/API)へGETメソッドでアクセスし、JSONデータを取得して内容を確認できます。

PostmanでWebサービスで公開しているCustomer Ledger Entriesを取得

PostmanのVSCodeのエクステンションを利用しても同様にデータを取り扱えます。

Postman on VS Code

VS CodeのPostman