前言
平时习惯使用 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
并保存。
AllowPublicClient
oauth2AllowImplicitFlow
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.0
webapiurl
:{{url}}/api/data/v{{version}}/
callback
:http://localhost
authurl
: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
选择Implicit
Callback URL
填写{{callback}}
Auth URL
填写{{authurl}}
Client ID
填写 {{clientid}}Client Authentication
选择Send as Basic Auth header
点击 Get New Access Token 后会弹出登录框,填写自己的账号、密码后就可以获取到 Token 信息了。
评论