前言
平时习惯使用 Postman、Apifox 等 API 测试工具来测试 Web 服务,这样方便调试接口,Dynamics 365 也提供有许多标准的接口,今天我来试试使用 Apifox 连接到 Dynamics 365,尝试使用标准的接口。
先决条件:
- 你是 “管理员” 用户,否则无法访问 Azure Active Directory 门户
- 安装有 API 测试工具,如 Postman、Apifox 等
详细步骤
1. 获取 ClientId 和 ClientSecret
Step 1. 注册应用
(1)访问并登录 Azure Portal.
- 国际版:Azure Portal
- 世纪互联版(国内版):Azure Portal
(2)在顶部的搜索框,搜索 “ 应用注册 ” 并点击它

(3)点击 “新注册”

(4)在弹出的页面输入一个有意义的应用程序名称(例如:D365-GetClientSecret) –> 勾选受支持的账号类型 –> 点击 “注册” 按钮

Step 2. 获取 ClientId
提示
ClientSecret 是一个密码性质的秘钥,可以有效防止未经授权的访问。相比使用用户名和密码,ClientSecret 可以提供更加安全的身份验证方式,降低数据泄露的风险。
完成 Step 1. 之后,我们可以从 “概览” 找到 应用程序 ID (ClientId) , 把它拷贝到记事本,等会用到。

2. 为应用设置 ①身份验证、②配置文件、③API权限
Step 1. 添加 身份验证
身份验证 –> “ + 添加平台 ” –> 选择 Web

填写 http://localhost –> 勾选 “ 访问令牌(用于隐式流) ”

Step 2. 修改 “清单” 配置文件
将如下 2 个属性,设置为 true 并保存。
AllowPublicClientoauth2AllowImplicitFlow

Step 3. 添加 API权限
(1)API 权限设置 –> “ + 添加权限 ”

(2)“ 我的组织使用的 API ” –> 搜索 Dataverse –> 选择 Dataverse

提示
如果你在 Microsoft API 中能搜索到 Dynamics CRM ,则 选择 Dynamics CRM ,如果没有的话就按照上面的步骤,选择 Dataverse

(3)选择 委托的权限 –> 勾选权限 –> 添加权限

3. Postman 连接测试
(1)新建 Collection,并为 Collection 取一个有意义的名称,例如:using-postman-call-crm

(2)新建 Environment

(3)为 Environment 添加环境变量:
url:你的 CRM 环境 URLclientid:你的应用程序的 ClientId,即上面步骤的 “Step 2. 获取 ClientId”version:9.0webapiurl:{{url}}/api/data/v{{version}}/callback:http://localhostauthurl:https://login.partner.microsoftonline.cn/common/oauth2/authorize?resource={{url}}
如果你是 Global 版,
authurl变量的值请使用https://login.microsoftonline.com/common/oauth2/authorize?resource={{url}}

(4)新建请求

(6)为“请求” 配置获取Token信息
Auth Type选择 Oauth 2.0Add authorization data to选择 Request HeadToken Name取个有意义的名称Grant Type选择ImplicitCallback URL填写{{callback}}Auth URL填写{{authurl}}Client ID填写 {{clientid}}Client Authentication选择Send as Basic Auth header

点击 Get New Access Token 后会弹出登录框,填写自己的账号、密码后就可以获取到 Token 信息了。

评论