前言

日常开发和调试中,我通常会使用 Postman、Apifox 等 API 测试工具来验证 Web 服务接口。这类工具在接口调试、参数校验和结果验证方面都非常好用。实际上,Dynamics 365 也提供有许多标准的接口,可以通过这些 API 测试工具进行直接访问和调试。

本文将以 Apifox / Postman 为例,演示如何通过 Azure AD 应用注册的方式,成功连接到 Dynamics 365,并调用其标准接口。

先决条件

在开始之前,请确保满足以下条件:

  1. 你使用的是 管理员账号(需要访问 Azure Active Directory / Entra ID)
  2. 本地已安装 API 测试工具,例如 Postman 或 Apifox

详细步骤

1. 获取 ClientId 和 ClientSecret

Step 1. 注册应用

(1)访问并登录 Azure Portal.

(2)在顶部的搜索框,搜索 “ 应用注册 ” 并点击它 注册应用-01

(3)点击 “新注册” 注册应用-02

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

Step 2. 获取 ClientId

ClientSecret 是一个密码性质的秘钥,可以有效防止未经授权的访问。相比使用用户名和密码,ClientSecret 可以提供更加安全的身份验证方式,降低数据泄露的风险。

完成 Step 1. 之后,我们可以从 “概览” 找到 应用程序 ID (ClientId) , 请将该值复制并保存,后续配置 Postman / Apifox 时会用到。

获取 ClientId

2. 配置应用(身份验证、清单、API 权限)

Step 1. 配置身份验证(Authentication)

进入 身份验证 → 点击 “+ 添加平台” → 选择 Web 添加身份验证-01

配置如下内容:

  • 重定向 URI:http://localhost
  • 勾选 “访问令牌(用于隐式流)”

添加身份验证-02

Step 2. 修改 “清单” 配置文件

进入 清单页面,将以下两个属性设置为 true,并保存:

  1. AllowPublicClient
  2. oauth2AllowImplicitFlow

修改 “清单” 配置文件

Step 3. 添加 API权限

进入 API 权限 → 点击 “+ 添加权限” 添加 API权限 - 01

选择 “我的组织使用的 API”,搜索并选择 Dataverse 添加 API权限 - 02

💡 如果在 Microsoft API 列表中能直接搜索到 Dynamics CRM,也可以选择该项,否则请选择 Dataverse。 添加 API权限 - 03

(3)选择 委托的权限,勾选所需权限并添加 添加 API权限 - 04

3. 使用 Postman 进行连接测试

Step 1:创建 Collection

新建一个 Collection,并为其取一个有意义的名称,例如:

Postman 新建 Collection

Step 2:创建 Environment

Postman 新建 Environment

为 Environment 添加以下变量:

变量名 说明
url CRM 环境 URL
clientid Azure 应用的 ClientId
version 9.0
webapiurl {{url}}/api/data/v{{version}}/
callback http://localhost
authurl 授权地址需要区分国内版和国际版(见下方说明)

国内版:

https://login.partner.microsoftonline.cn/common/oauth2/authorize?resource={{url}}

国际版:

https://login.microsoftonline.com/common/oauth2/authorize?resource={{url}}

Postman 添加环境变量

Step 3:配置请求并获取 Token

新建请求

Postman 新建请求

在 Authorization 中配置 OAuth 2.0:

  • Auth Type 选择 Oauth 2.0
  • Add authorization data to 选择 Request Head
  • Token Name 取个有意义的名称
  • Grant Type 选择 Implicit
  • Callback URL 填写 {{callback}}
  • Auth URL 填写 {{authurl}}
  • Client ID 填写 {{clientid}}
  • Client Authentication 选择 Send as Basic Auth header

Postman 为 请求配置获取 Token 信息

点击 Get New Access Token,完成登录后即可成功获取访问令牌。

Postman 获取Token

如果本文对你有所帮助,可以请我喝杯咖啡

(完)