Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

Postmanを使って、Oauth 2.0のAccessTokenを取得する。Azure AD版

Postmanで手軽にOauth2.0の認証を行って、Access Tokenを取得する方法があったんですねー。

www.getpostman.com

最近いろんなAPIでOAuth2.0を使う機会が多く、いちいちAccess Tokenの取得が面倒だったので、忘れないようにメモメモ。

続きを読む

【イベントレポート】第27回 Japan SharePoint Group 勉強会に参加してきました。 

11月3日に東京で開催された、第27回 Japan SharePoint Group 勉強会に参加してきました!

SharePoint勉強会では、初めてのセッションを担当させてもらったのですが、とてもいい経験をさせてもらいました!

jpsps.doorkeeper.jp

なお、Youtubeも公開されているみたいです。

www.youtube.com

以下、簡単なレポートをば。

続きを読む

【Ruby】【Dynamics 365】【Web API】Ruby からDynamics 365 Web APIに繋げてみる

先々週ぐらいに、お仕事でRubyを使うことがきまったので、個人的勉強がてら、Dynamics 365 OnlineのWeb APIに接続してみた時の記録です。

といってもRubyが初めてだったので、Hello Worldをしつつ、トライしてみました。

認証アプローチは以前にこのBlogで紹介してS2S認証で

kageura.hatenadiary.jp

RubyでもC#に似たHTTP Clientがあるので、基本的にそれを使っています。

今回勉強がてら自力でTokenの取得を組みましたが、ちゃんとしたADALライブラリがあるので、ふつーはそちらを使うのがいいと思います。

github.com

続きを読む

【Network】自宅PCにリモート接続できる環境を構築したい! ポートアドレス変換編

外出先でも、家の高性能なPC環境で作業したい! 家のファイルとかにアクセスしたい! 

なんて欲望を叶えるためにGMOの固定IPを契約して、自宅PCにリモート接続できる環境を整えました。

(まあ、固定IPじゃなくてもDynamics DNSという手もあるにはあるんですけど)

アプローチとしては、VPNで繋ぐ方法がメジャーかと思うんですが

この時まだ家のBaffalo RouterがIPsecに対応していなかったので、取り急ぎポートアドレス変換でRDPポートを外出しする方法を試してみた時の記録です。

ただ、セキュリティ的にあれだなぁと思ったので、すぐにIPsecに対応したBaffalo Routerを買ってやめてしまったんですが、ネットワーク周りのいいお勉強になったので、記録しておきます。

システム構成

システム構成は以下の感じです。

さすがにRDPポートをそのまま晒すのは気が引けたので、50000番台に変更しています。

その変更したポートをRouterのポートマッピングの設定で、ローカルIPアドレスの特定ポートにリダイレクトさせてあげるような感じです。

f:id:sugimomoto:20170903165708p:plain

続きを読む

【Dynamics 365】【勉強会】第5回 JDUC勉強会でDynamics 365 Web APIとの接し方を話しました

第5回 JDUC(Japan Dynamics User Comunity)でDynamics 365 の Web APIについて発表しました。

dynamics.connpass.com

本当はすでにリリースされているはずだった9.0アップデートも踏まえながら、お話する予定だったんですがまだ来ていなかったため、

あまりその辺の内容は盛り込めていないです。

ただ、SOAPエンドポイントの廃止など、色々とDynamics 365 Web API変革の時期なので、

これからDynamics 365 のWeb API使いたいよーという方には、とっかかりとして、全体像がつかみやすい資料にはできたのかなと思います。

発表資料

www.slideshare.net

【Dynamics 365】【勉強会】Web APIって何? とDynamics 365のWeb APIについて

最近、社内でODataとRESTって何が違うの? という質問がありました。

主にDynamics 365 のWeb APIエンドポイントの話なんですが、Dynamics 365のSDKが結構充実しているせいか、あんまりその辺に詳しくなくても、なんとかプログラミングはできてしまいます。

ただ、最近のWeb APIの流れを見ていると、今後避けては通れない部分だろうなーというのと

新人向けにWeb APIとはなんぞや? って、一度話をしておいたほうがいいんじゃないか? というところで、

社内の個人主催勉強会で色々とお話してみました。

発表資料

www.slideshare.net

Web APIとはなんぞや? というところから

昨今のWeb API事情。なぜWeb APIを学ぶべきなのか

その上で、REST・OData・SOAPの違いとDynamics 365のWeb APIはこうゆうことなのね

という流れになっています。

所感

実は個人的に、一番作るのが大変な資料でした。今までで一番資料を多くあたった気がします。色々と引用も重ねました。

やっぱり、ちゃんとプロトコルとして、仕様がどうなってるのか? というところを調べながら作っていたので

あー自分ちゃんと理解していないなー、とか

こんな仕様だったんだ! みたいな発見

それらを資料としてまとめる難しさ、みたいなものを結構感じました。

特にODataは調べていくうちに、Web APIプロトコルとして、とても素晴らしい思想で作られているな、ってことが感じられましたし

SOAPSOAPでレガシーにはなってしまったものの、その設計思想やWSDLという仕組みは、当時の人達がとても工夫しながら作っていたのであろうことが、様々な資料から感じられました

(もちろん、その複雑さが、デファクトスタンダードへの道を閉ざしてしまったのだろうな、というのも感じられましたが)

あと、この発表をしてから見つけたのですが、下の資料がめっちゃわかりやすいです。

やっぱり私自身はWeb APIを使う側が中心なので、Web APIを作る側の人はよりどうあるべきか? という観点を掘り下げているのがいいですねー。

speakerdeck.com

【Dynamcis 365】【勉強会】Interact 2017でDynamics 365 + Azure IoT をテーマに登壇しました

結構今更感あふれるのですが、Interact 2017というイベントで Azure IoT + Dynamics 365 をテーマに登壇してきました。

Interact 2017

主にMS製品(どちらかと言えば、インフラやAzure寄りが強め?)に関する勉強会です。

一日で4種類☓4セッションで合計16種類もある、MS系の個人主催勉強会では、かなり大きめなイベントですね!

interact.connpass.com

発表資料

発表資料は以下のとおりです。

www.slideshare.net

以前にも、Connected Field Serviceではお話していたんですが

今回はDynamics系の勉強会ではなかったので、もうちょっと内容のスコープを広げてDynamics とはなんぞや? と、ビジネス寄りからお話してみました。

あと、前回の勉強会では紹介し切れなかった、MESHとの連携も盛り込んでいます。

(デモが中心なので、資料にはあまり反映されていないですが)

関連資料

kageura.hatenadiary.jp

kageura.hatenadiary.jp