2

我试图使用 Web API 创建实体。因此,使用我的实例 url、client_id、client_secret 我可以成功生成访问令牌和刷新令牌。但是,每当我尝试使用该 access_token 发出任何发布请求时,我都会得到 401(未授权)状态。我试图从邮递员创建新实体,如下所示:url:https://myurldomain.crm5.dynamics.com/api/data/v9.0/accounts

标题:

POST /api/data/v9.0/accounts HTTP/1.1
Host: myinstancename.crm5.dynamics.com
Content-Type: application/json; charset=utf-8  
Authorization: Bearer  mytoken
OData-Version: 4.0
OData-MaxVersion: 4.0
Accept: application/json

[从邮递员代码部分复制]
正文:

{
    "name": "Sample Account",
    "creditonhold": false,
    "address1_latitude": 47.639583,
    "description": "This is the description of the sample account",
    "revenue": 5000000,
    "accountcategorycode": 1
}

在发送请求时,我不断收到 401 未经授权的响应。请问有什么建议吗?我正在关注他们的 API

4

2 回答 2

1

按照 MS 文档设置 Postman 环境并使用该环境执行操作:将 Postman 与 Dynamics 365 Web API 一起使用

设置 Postman 环境时,请确保在 Azure AD 登录质询弹出窗口中使用 CRM 用户凭据,该弹出窗口具有至少一个涵盖 CRM 中必要权限的安全角色。如果您能够在 CRM UI 中创建帐户记录,那么也可以在 Postman 中使用您的凭据。

要管理您用于在 Postman 中连接的任何 CRM 用户的角色,请检查 CRM 中的设置 - 安全 - 用户下的用户配置文件。如果需要,从销售人员角色开始。

为用户分配安全角色

获取令牌是 O365 和 AAD 为任何有效 AD 用户处理的第一部分,但 API 请求使用该令牌并将 Web api 发布到 CRM 在线平台,CRM 安全模型将启动并授权数据访问。

于 2019-02-15T13:57:42.423 回答
0

最新版本的邮递员增加​​了对 NTLM 身份验证的支持(尽管它仍然是测试版)。您是否使用邮递员的 NTLM 身份验证来调用 Crm Dynamics Web api。如果不尝试使用它,它会要求除了用户名和密码之外的域名。希望这有助于解决您的身份验证问题。

于 2019-06-19T20:12:02.580 回答