本記事はアプレッソ Advent Calendar 第1日目の記事です。

!(https://www.appresso.com/img/common/logo.jpg) (https://www.appresso.com/servista/) をはじめとした「つなぐ」製品を展開する (http://www.appresso.com/)のAdventCalendarです。アプレッソで働くエンジニアたちが、仕事で使っている技術、使ってないけど興味...

こんにちは、ソリューション開発部の柴崎です。アプレッソ Advent Calendar に協力会社も参加しても良いとのことで、書かせていただきます!

Microsoft Dynamics CRM の Web API を使う前に

Dynamics CRM 2016 は、RESTful API として OData 4.0 仕様に則りアクセスすることができます。Microsoft 社製の製品だけあってサンプルも .NET のものが多いのですが、OData 4.0 をサポートしているライブラリであれば Dynamics CRM に接続できます。今回は Java を使い、ライブラリとして Apache Olingo を使います。

認証

Dynamics CRM Online の場合は、Azure Active Directory にアプリケーションを事前に登録する必要があります。実際のアクセストークンの取得については別の記事に譲ることとします。参考までに、認可コード取得時に resource=https%3a%2f%2fFOO.crmBAR.dynamics.com のようなパラメータが必要となるので注意してください。

エンティティを取得する

さっそく一番有名と思われる「取引先企業」(accounts) を取得してみましょう。/accounts?$select=name,openrevenue_base の URI にアクセスするコードは以下のようになります。

※ハイライトしている行は環境に応じて書き換えてください。

結果

試しに直接 API を呼び出し、JSON で返ってきた内容と比較してみましょう。

問題なく取得できていますね!

エンティティの作成

今度は新しいエンティティを作成してみましょう。

※ハイライトしている行は環境に応じて書き換えてください。

結果

問題なく作成できました! Dynamics CRM の画面で確認してみてください。応答 OData-EntityId ヘッダーには、作成したエンティティの URI が含まれています。この URI はエンティティ更新や削除で使います。

エンティティの更新

続いて先ほどのエンティティを更新してみましょう。

※ハイライトしている行は環境に応じて書き換えてください。

結果

見事に更新されました! Dynamics CRM の画面で確認してみてください。更新が成功した場合、状態 204 の応答が返されます。ここでのポイントは、7行目で Chunked Transfer を無効にしていることです。

Chunked Transfer で要求すると以下のようなエラーとなってしまうので注意してください。

エンティティの削除

最後に先ほどのエンティティを削除してみましょう。

※ハイライトしている行は環境に応じて書き換えてください。

結果

綺麗さっぱり削除できました! Dynamics CRM の画面で確認してみてください。削除も同様に、成功した場合、状態 204 の応答が返されます。ちなみに、再度実行すると 404 Not Found となります。

まとめ

今回は Dynamics CRM のエンティティの簡単な CRUD 操作を試みました。冒頭に書いたとおり、世の中には .NET のサンプルが多いですが、OData 4.0 仕様で接続することができますので、クライアントの言語を問いません。Olingo を使うことで簡単に Java から操作することができそうです。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter で「株式会社アークシステム」をフォローしよう!

Dynamics CRM Online Web APIをJavaから使ってみたhttps://devlog.arksystems.co.jp/wp-content/uploads/2016/11/dynamicscrm.pnghttps://devlog.arksystems.co.jp/wp-content/uploads/2016/11/dynamicscrm-150x150.pngshibasakiソリューション開発部プログラミングクラウド利用技術Java,Microsoft,Azure,Dynamics CRM,OData,Olingo,OAuth,Azure Active Directory本記事はアプレッソ Advent Calendar 第1日目の記事です。こんにちは、ソリューション開発部の柴崎です。アプレッソ Advent Calendar に協力会社も参加しても良いとのことで、書かせていただきます! Microsoft Dynamics CRM の Web API を使う前に Dynamics CRM 2016 は、RESTful API として OData 4.0 仕様に則りアクセスすることができます。Microsoft 社製の製品だけあってサンプルも .NET のものが多いのですが、OData 4.0 をサポートしているライブラリであれば Dynamics CRM に接続できます。今回は Java を使い、ライブラリとして Apache Olingo を使います。Microsoft Dynamics CRM Web API の使用 Libraries · OData - the Best Way to RESTApache Olingo認証 Dynamics CRM...ARK Solution Development Division Developers Blog.