トライアルは個人的に何回か取得しているんですが、かなり毎回勘所を忘れてしまうので、書き残しておきたいと思います。APIを使うための下地も見えたので、OAuthやAzureADへの登録などのあたりも併せて。中小企業向けに最適化されたMicrosoftが提供するERPパッケージの一つです。ありますが、アーキテクチャやAPI仕様は全然違うので注意しましょう。Centralのトライアルを取得するのですが、今の所日本の環境ではトライアルを取得できません。英語版にうまくアクセスできるようにしたり、USリージョンのOffice365アカウントが必要だったりするので、注意が必要です。何はともあれ、まずはUSリージョンのOffice365アカウントを取得しておきます。ライセンスで取得してしまいましょう。Service)を選択し、「こちらからサインアップ」をクリックします。https://trials.dynamics.com/Dynamics365/Signup/sales以下のようなダイアログが表示されますが、「いいえ、サインアップを続行します」をクリックします。States」を選択します。あとは、そのまま案内通りにアカウントを作成すればOKです。Centralのトライアルを取得します。取得しますが、ここで一点注意が必要です。ユーザーの言語設定で表示するアイテムを変えています。ブラウザの言語設定を英語に変更してください。Chromeですと、以下のようにSettings→Advanced→LangageからEnglishを選択することで、対応可能です。設定後、一度ブラウザの再起動が必要なので注意してください。したら、再度トライアルのセットアップ画面に移動します。Centralのメニューが増えているのがわかるかなと思います。STARTEDを実行します。https://trials.dynamics.com/Dynamics365/Signup/salesライセンスの確認などのチェックが完了すれば晴れて以下のように環境のデプロイメントが開始されます。Centralの画面が表示されます。USのアカウントや言語設定など、ひっかかりポイントはあるものの、そこさえ押さえてしまえば難しいところはあまりありません。使う準備さて、せっかく環境を手に入れたので、APIを叩いてみましょう。Referenceは以下のURLで公開されています。ADの管理画面に移動し、アプリケーションの登録を行います。今回はローカルホストから接続するので、リダイレクトURLは「http://localhost:33333」としました。ここはポートがあいていれば、任意のものでOKです。次に、APIのアクセス許可を設定します。Centralが一覧にあるので、こちらを選択し「委任されたアクセス許可」から「user_impresonation」を選択します。この場合、最終的にユーザーログインが必須となるので、注意しましょう。アプリケーション認証もあるようですが、私は現在未チェック。今後余裕があればきっと、、、。あとはクライアントシークレットを生成しアプリケーションIDをコピーすれば準備完了です。APIアクセスを行う前に、自身の環境情報をチェックしておきましょう。TOPページに移動したときに表示されるこのURLに必要情報が含まれています。このGUID(edb74166-0f9c-4489-92ff-9e2d3c1b68f4)とCompany(CRONUS%20USA%2C%20Inc.)をAPIリクエストで利用します。https://businesscentral.dynamics.com/edb74166-0f9c-4489-92ff-9e2d3c1b68f4/?company=CRONUS%20USA%2C%20Inc.&dc=0APIリクエストを行うそれでは実際にAPIリクエストを行います。ここはお馴染みPOSTMANでいってみましょう。AccessToken」をクリックします。設定値は以下のような感じです。ADアプリの情報を使います。(ちなみにこれらの情報は削除済みなので、使えません。Tokenをクリックすると、ログイン画面が立ち上がるので、対象のアカウントでログインしましょう。ログイン後、Permissionの許可を行えば、完了です。無事、アクセストークンが取得できました。実際にAPIアクセスしてみましょう。APIはこんなURLになります。GETリクエストで「https://api.businesscentral.dynamics.com/v1.0/{GUID}/ODataV4/$metadata」を指定するだけでOKです。次に、SalesOpportunitiesを取得してみましょう。CentralではTenantIDの他に、Companyでそれぞれリソースが分けられているので、URIにその指定を挟む必要があります。その指定の後に、取得したいリソース名を付与するので、こんな感じのURIになります。https://api.businesscentral.dynamics.com/v1.0/edb74166-0f9c-4489-92ff-9e2d3c1b68f4/ODataV4/Company('CRONUS%20USA%2C%20Inc.')/SalesOpportunitiesCompanyは知っていれば以下のようにGUID指定でもかまいません。https://api.businesscentral.dynamics.com/v1.0/edb74166-0f9c-4489-92ff-9e2d3c1b68f4/ODataV4/Company('246d9e77-cf80-4bba-8f28-5047c573a9cc')/SalesOpportunitiesこんな感じで取得できます。CRM系と同じ用にアクセスできるのではないかなと思います。Centralは多数のリソースを抱えているので、予め定義されたリソースやクエリしかAPIとしてアクセスできません。このビューで取得したいなーと思った場合には、API設定を追加する必要があります。Services」を選択します。TypeでQueryを選択します。次に定義するリソースを探します。list」を選択し一覧画面を開いてから、Customerと入力。Salesperson」のビュー定義が見つかるので、これを選択して追加します。最後にAPIでアクセスする際のリソースIDを指定します。ここは重複しない任意のIDを入力すればOKです。Publicにチェックを入れて、他の行にカーソルを合わせると、以下のようにURIが定義されます。これでAPIアクセスが可能になります。生成されたURLはこんな感じです。https://api.businesscentral.dynamics.com/v2.0/edb74166-0f9c-4489-92ff-9e2d3c1b68f4/Production/ODataV4/Company('CRONUS%20USA%2C%20Inc.')/CustomerAndSalespersonもちろん、Postmanからも。Portals(Preview)ことはじめ。更新の季節がやってまいりました。2018」の記事です。(翻訳)Twitter@sugimomotoさんのツイートはてなブログをはじめよう!sugimomotoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。