Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
Search
Kazuya Sugimoto
August 27, 2017
Technology
41
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
Kazuya Sugimoto
August 27, 2017
More Decks by Kazuya Sugimoto
See All by Kazuya Sugimoto
第1回Japan MCP Business Community(JMBC)開催レポート
sugimomoto
0
19
Aida(あいだ)— 離婚後の子育てを、AIが「あいだ」に立って支える|AI HACK 2026
sugimomoto
0
130
kintone の AI コワーカーを、 Anthropic にエージェントを"ホストさせて"作った話 #devkinmeetup
sugimomoto
0
170
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
970
最近話題のMCP って何? HCL Dominoと組み合わせるとどうなるの? CData MCP Serversで連携してみよう
sugimomoto
0
50
社長の無茶振りをAI でさばく! CData Connect AI & Tableau で試みる新しいデータ分析アプローチ
sugimomoto
0
27
社長の無茶振りをAIで捌く! Databricks & AI & MCP・CData Connect AIで試みる新しいデータ分析アプローチ
sugimomoto
0
37
電気自動車 Tesla の公式API をPostman から実行し、車両データを取得・分析してみよう!
sugimomoto
0
33
kintone とRemote MCP Server で実現する次世代BI? “AI Agent”による営業活動の圧倒的効率化
sugimomoto
0
32
Other Decks in Technology
See All in Technology
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
290
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
210
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
480
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
360
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
1
270
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
260
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
3
590
LLMに渡さなかった仕事
nanaism
0
1.4k
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
230
2026-09-08 そのJavaモダナイゼーション、AIに丸投げで大丈夫?IBM Bobで変わる品質と効率
yutanonaka
1
150
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
330
Bash Introduction
62gerente
615
220k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Writing Fast Ruby
sferik
630
63k
sira's awesome portfolio website redesign presentation
elsirapls
0
420
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
510
Building an army of robots
kneath
307
46k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Transcript
第5回 JDUC勉強会 Dynamics 365 Web APIとの接し方 @sugimomoto
最近あったWeb APIに関する質問 認証ってOAuthでいいの? オンプレなんだけど? なんかRESTとSOAPとWeb API ってあるんだけど? Web APIって、なんでもデータが取 得できるんだよね?
しかも、最近のDynamics 365 は Web APIの変革期
今日のゴール Dynamics 365 とデータ連携したいよー それならWeb APIあるじゃん!? でも、Web APIの種類はどれを使えばいいの? でも、Web APIの認証ってどうすればいいの?
でも、Web APIでどんなことができるの?
Q1. Web APIの種類はどれを使えばいいの?
Dynamics 365 Web APIの種類 REST API SOAP API Web API
Microsoft 呼称 組織データサービス REST エンドポイント 組織サービス SOAP エンドポイント Web API OData v4 REST プロトコル OData v2 SOAP OData v4 状況 既に廃止済み Dynamics CRM 2015まで Ver 9.Xで廃止予定 http://bit.ly/2vR33C1 ★メインストリーム Dynamics CRM 2015から リファレンス https://msdn.microsoft.com /library/gg334279(v=crm.7) .aspx https://msdn.microsoft.com /ja- jp/library/mt608074.aspx https://msdn.microsoft.com /ja- jp/library/mt593051.aspx
Dynamics 365 Web APIの種類 REST API SOAP API Web API
Microsoft 呼称 組織データサービス REST エンドポイント 組織サービス SOAP エンドポイント Web API OData v4 REST プロトコル OData v2 SOAP OData v4 状況 既に廃止済み Dynamics CRM 2015まで Ver 9.Xで廃止予定 http://bit.ly/2vR33C1 ★メインストリーム Dynamics CRM 2015から リファレンス https://msdn.microsoft.com /library/gg334279(v=crm.7) .aspx https://msdn.microsoft.com /ja- jp/library/mt608074.aspx https://msdn.microsoft.com /ja- jp/library/mt593051.aspx これを使え!
Q2. Web APIの認証ってどうすればいいの?
Web APIの認証はどうなってるの? HTTP/S NTLM認証 認証不要 Dynamics 365 Online Dynamics 365
On-Premiss Dynamics 365 Internal IFD構成 なし IFD構成 あり OAuth 2.0 認証 Implicit Grant Resource Owner Password Credential Grant Client Credential Grant 認証方式 プラット フォーム アプローチ Dynamics 365 OnlineであればOAuth 2.0による認証 Implicit GrantもしくはClient Credential Grantを利用しよう!
Client Credential Grant データ連携におけるバッチ処理やインターフェースプログラム等 アクセスするユーザーのコンテキストに重要性が無い場合オススメ Client IdとClient Secretの発行およびアプリケーション登録で可能になる認証アプローチ (別名Server to
Server 認証:S2S認証) POST https://login.microsoftonline.com/{tenantId}/oauth2/token Media/type application/x-www-form-urlencoded Grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}&resour ce={https://***.crm7.dynamics.com/} 参考:【Dynamics 365】【8.2新機能】サーバ間(S2S)認証を試してみた http://bit.ly/2wfyKDf
Dynamics 365 Web APIの 認証を使用するための注意点 ・必ず一意のユーザーを指定 リソースに誰がアクセスしたのか? という情報が必ず必要 (だから最近までClient Credentialが使えなかったと思われる)
・連携プログラムの管理情報に注意 Password Credentialの場合はID・PWの管理が必要(Office365のパスワード変更の影響あり) Client Credential GrantはClient Id / Client Secretを管理(Client Secretは期限付き) ・オンプレミスの場合、認証アプローチはケースバイケース イントラネットワークの疎通可能なところにアプリケーションがいる場合は「NTLM認証」 イントラネットワーク外の場合は、ADFS/OAuth認証もしくは、VPN等で繋いでNTLM認証か
Q3. Web APIでどんなことができるの?
Dynamics 365 Web APIでできること ・レコードの作成(Create) ・レコードの更新(Update) ・レコードの取得(Retrieve) ・レコードの削除(Delete) ・レコードの作成 or
更新(Upsert) Basic Operation ・関数の実行(Function) ・アクションの実行(Action) Business Logic Operation ・バッチ操作(HTTP/Multipart) ・ユーザーの偽装 ・条件付き演算(Optimistic Concurrency) Utility ・メタデータの取得 ・エンティティの作成・更新・削除 ・フィールドの作成・更新・削除 Metadata Operation 1 2 3 4
ちなみに Dynamics 365 のWeb APIは ポイントさえ抑えれば怖くない!
参照も編集もREST Fulな形式でサポート レコードの取得 レコードの作成 レコードの更新 削除 GET https://***/api/data/v8.2/ accounts Authorization:
Bearer *token* Accept: application/json OData-MaxVersion: 4.0 OData-Version: 4.0) POST https://***/api/data/v8.2/ Accounts Authorization: Bearer *token* OData-Version: 4.0 OData-MaxVersion: 4.0 Content-Type: application/json { name:’Create Account', } PUTCH https://***/api/data/v8.2/ Accounts(guid) Authorization: Bearer *token* Odata-Version: 4.0 Odata-MaxVersion: 4.0 Content-Type: application/json { name:’Update Account', } DELETE https://***/api/data/v8.2/ Accounts(guid) Authorization: Bearer *token* OData-Version: 4.0 OData-MaxVersion: 4.0 REST Fulな形式でデータの操作をサポート わかりやすい
HTTP Request/Response デモ
まとめ でも、Web APIの種類はどれを使えばいいの? →最新のWeb API Odata v4を使おう! でも、Web APIの認証ってどうすればいいの? →OnlineでバッチとかならOAuth2.0認証を使おう!
S2S認証(Client Credential)がオススメ! でも、Web APIでどんなことができるの? →Odataプロトコルに則って、データのCRUD操作が簡単にできるよ! ただし、ビジネスロジック(Action・Function)も抑えよう!