CData Software Blog

クラウド連携のCData Software の技術ブログです。

Dynamics 365 / CDS Web API を Postman から手軽に実行

こんにちは。CData Software Japanリードエンジニアの杉本です。

久しぶりに Dynamics 365 / CDSAPIリファレンスを見ていたら、以下のようなページが追加されているのを発見しました!

docs.microsoft.com

ベーシックなPostmanの使い方ですが、特筆すべきは専用のAzure ADアプリケーションが登録済みで、手軽に叩くことができる環境がそろっている! という点です。

GraphAPIだと専用のエクスプローラーが提供されていたりと、触りやすいんですが、Dynamics 365 の場合はちょっと検証するのが面倒でした。

どのくらい面倒かと言うと、以下のような感じです。

kageura.hatenadiary.jp

基本的には上記Docsの手順通りですが、もうちょっと細かな点を掘り下げつつ、この使い方を解説してみたいと思います。

Dynamics 365 / CDS Web API Endpoint を確認する

何はともあれ、まずはDynamics 365 / CDS API のエンドポイントURLを確認しておきましょう。

これが無いとはじまりません。

基本的に「https://{tenantid}.api.crm7.dynamics.com/api/data/v9.1/」の形式ですが、CDSの場合、tenantIdがわからないことも多いでしょう。

今回はちゃんとした確認方法もお伝えします。

まず、詳細設定画面へ移動します。Dynamics 365は設定画面へ、PowerApps CDSの場合は以下のように歯車アイコンから「詳細設定」に移動します。

f:id:sugimomoto:20200502231818p:plain

設定メニューに移動したら、「カスタマイズ」をクリックし

f:id:sugimomoto:20200502231826p:plain

「開発者リソース」を選択します。

f:id:sugimomoto:20200502231835p:plain

すると、以下のように各種API用のURLが表示されているので、「インスタンの Web API」に表示されているURLを利用します。

今回私の環境のTenantIdは「sugimomoto36」なので、「https://sugimomoto36.api.crm7.dynamics.com/api/data/v9.1/」となります。バージョニングがついている点に気をつけましょう。

f:id:sugimomoto:20200502231842p:plain

使い方

それでは、PostmanでこのAPIを実行します。

まず環境情報を入力します。Postmanを立ち上げて右上の歯車アイコンをクリック

f:id:sugimomoto:20200502231851p:plain

環境情報の管理画面に移動するので「Add」をクリックします。

f:id:sugimomoto:20200502231856p:plain

以下のように指定します。urlは皆さんの環境に合わせて置きかえてください。

f:id:sugimomoto:20200502231903p:plain

環境情報を作成したら、上のリストから作成した環境を選択します。

その後、新しいリクエストを作成し、「Authorization」タブから「OAuth 2.0」を選択、「Get New Access Token」をクリックします。

f:id:sugimomoto:20200502231909p:plain

今度はOAuth 2.0 の設定画面が表示されるので、環境情報からそれぞれの値を取得するように設定します。

なお、GrantTypeは「Implicit」なので、注意しましょう。

f:id:sugimomoto:20200502231916p:plain

入力後「RequestToken」をクリックすると、ログイン画面が立ち上がるので、対象のアカウントでログインします。

f:id:sugimomoto:20200502231922p:plain

ログインが完了すると、以下のようにTokenが取得できます! 簡単でいいですね!

f:id:sugimomoto:20200502231929p:plain

あとは、Use Tokenをクリックし、リクエストを組み立てます。

DocsではWhoAmIを実行していますが、それだと気持ちつまらないので、取引先企業エンティティ(accounts)を取得してみました。

GETリクエストで「{{webapiurl}}accounts」と入力し、「Send」ボタンをクリックします。

すると、レスポンス画面に取引先企業一覧のJSONが表示できました!

f:id:sugimomoto:20200502231935p:plain

おわりに

MicrosoftAPIは現在ほとんどがAzure ADのアプリ登録を必要としているので、ちょっと敷居が高く感じるかもしれないですが、このリファレンスの情報を使うことで、すごく手軽にAPIを試すことができます。

ちなみに、CDataではこのDynamics 365 / CDS Web APIExcelアドイン形式やODBCJDBCで利用できる製品も提供しています。こちらも手軽にAPIをリクエストできるので、よかったら試してみてください。

www.cdata.com

kageura.hatenadiary.jp

参考

kageura.hatenadiary.jp