微軟動態CRM專家羅勇 ,回復335或者20190516可方便獲取本文,同時可以在第一間得到我發布的最新博文信息,follow me.
對於測試Web API, Get 類型,不需要設定特別request header的還好,登錄系統后直接在瀏覽器中即可測試。
但是對於其他請求就不是很好做,本文就是要解決這些問題,環境設置請參考官方文檔: Set up a Postman environment ,本文還參考了官方文檔: Microsoft identity platform and Implicit grant flow 。
首先需要注冊一個Azure Active Directory的App,可以參考我前面的博文:Dynamics 365 Online通過OAuth 2 Client Credential授權(Server-to-Server Authentication)后調用Web API ,我這里只提不一樣的。
然后再增加API permission,如下:
權限選擇如下:
選擇完畢后界面如下:
還需要為該App在 Authentication 頁面選擇Access tokens 並保存。
然后打開Postman,點擊右上角的 Management Environments 圖標,然后點擊【Add】按鈕。
我這里添加的參數如下,然后關閉 MANAGE ENVIRONMENTS窗體。
# | VARIABLE | INITIAL VALUE |
1 | resourceurl | https://orgd2aae10d.crm5.dynamics.com |
2 | clientid | 5a7813f0-eb2c-4dc4-9708-022dfae5a8f5 |
3 | version | 9.1 |
4 | webapiurl | {{resourceurl}}/api/data/v{{version}}/ |
5 | callback | https://localhost |
6 | tenantid | 7a789d88-dad0-4a6c-aa55-11046610ad54 |
7 | authurl | https://login.microsoftonline.com/{{tenantid}}/oauth2/v2.0/authorize |
然后記得切換Environment 為前面步驟新建的,認證選擇 OAuth 2.0 ,再點擊右邊的【Get New Access Token】按鈕。
Token Name 取有意義的名字即可,Grant Type選擇Implict,Callback URL, Auth URL和Client ID的值設置為前面步驟的變量名如下,然后點擊【Request Token】按鈕。
# | Field Name | Field Value |
1 | Token Name | cdstoken ,此字段值有意義即可 |
2 | Grant Type | Implicit |
3 | Callback URL | {{callback}} |
4 | Auth URL | {{authurl}} |
5 | Client ID | {{clientid}} |
6 | Scope | {{resourceurl}}/user_impersonation |
7 | State | 為空不變 |
8 | Client Authentication | Send as Basic Auth Header |
然后會彈出登錄頁面,請完成登錄:
登陸后出現授權界面,當然點擊【接受】按鈕
然后登錄窗口就會關閉,在 【MANAGE ACCESS TOKENS】窗口點擊 【Use Token】按鈕。
獲取到的Access Token就會自動填充到Access Token這個文本框,然后我進行測試,選擇GET請求類型,URL中輸入 {{webapiurl}}WhoAmI ,然后點擊 【Send】,會看到返回了數據,測試成功。