Dynamics365の拡張アプリケーションを作成する準備
最近になってOnlineに触れる機会が増えてきたのでOnlineの拡張開発もできるようになりたい。
だけど、認証周りが特によくわからないので、とりあえずサンプルを動かしてみたという話です。
Visual Studioの準備
まずはVisual Studio 2017の無料版をインストールしました。
この辺は必要そうなものをてきとうに選択。
サンプルのアプリケーションをダウンロード・
上のURLに書いてある説明通りにやります。
NuGetがVisual Stuidoにない場合はメニューバーの [ツール]>[拡張機能と更新のスケジュール]で、
NuGet Packager をインストールすればよかったと思います。
NuGetでライブラリを最新化
2.の手順でソリューションをVisual Studioで開きます。
3.の手順で言っているのはこれです。
4.で言っているのはこれです。
上の「更新プログラム」を選択すればでると思います。
サンプルアプリケーションのデバッグ
とりあえずこれだけやってF5キーを押したらコマンドプロンプトが立ち上がりました。
6.各プロンプトに次の情報を入力します。
でCRMサーバーの名前を入力とありますが、
日本でトライアルを取得している場合は、crm7.dynamics.comになっていると思います。
画像はURL部分にCRMサーバー名が表示されています。
黄色く塗りつぶしている部分は組織名です。
勝手に動いていって、Dynamicsにレコードを作った、取得した、そしてアップデートしたというログが出てきました。
何回か起動したので3つできていますが、下記のようにDynamicsを見ると確かにレコードができていました。
認証情報ができている
一度上記の手順を行うと、入力した内容から認証情報をXMLファイルに保存するとDOCに書いてあります。
下記のようなファイルが生成されていました。
ソースコードも読んでみましたが、この辺の情報でどうやって認証しているかわかるまでには時間がかかりそうです。
自分でアプリケーションを作るだけなら、これを流用してしまえば、いけるもんなんでしょうか。
下記のコードがCredentials.xmlの保存先です。
C:\Users\[UserName]\AppData\Roaming\CrmServer の下にファイルが生成されるようなコードになっています。
レコードの作成、取得、更新
肝心のレコードを作ったり取得したりは、下記の画像のあたりのソースコードを参考にすればいろいろできそうです。
テストデータをDynamicsの試験環境に作ったり(標準のインポート機能で十分か)、
テスト用に本番環境からマスキングデータを生成するなどは簡単にできそうです。
あとはバッチ機能を想定して大量データ作成、更新するアプリケーションや
マッピング情報をファイルから読み込むようにして、いろいろなエンティティのレコードを汎用的に吸いだせるアプリケーションを作ってみたいです。
(だれかがもう作っているとは思いますが)