微軟動態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】,會看到返回了數據,測試成功。

