我试图使用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
按照MS文档设置Postman环境并使用相同的方法执行操作:Use Postman with the Dynamics 365 Web API
设置Postman环境时,请确保在Azure AD登录挑战弹出窗口中使用CRM用户凭据,该弹出窗口至少包含一个安全角色,涵盖CRM中的必要权限。如果您能够在CRM UI中创建帐户记录,那么也可以在Postman中使用您的凭据。
要管理您在Postman中用于连接的任何CRM用户的角色,请在“设置 - 安全 - 用户”下的CRM中检查用户配置文件。如果需要,请从销售人员角色开始。
Assign a security role to a user
获取令牌是O365和AAD针对任何有效AD用户处理的第一部分,但API请求使用该令牌并将Web api发布到CRM在线平台,其中CRM安全模型将启动并授权数据访问。
最新版本的postman添加了对NTLM身份验证的支持(尽管它仍然是测试版)。您是否使用邮递员的NTLM身份验证来调用Crm Dynamics web api。如果没有尝试使用它,它会询问域名以及用户名和密码。希望这有助于您的身份验证问题。