我试图使用Web API创建实体。因此,使用我的实例URL,client_id,client_secret,我可以成功生成访问令牌和刷新令牌。但是,每当我尝试使用该access_token发出任何发布请求时,我都会获得401(未授权)状态。
我试图像这样从邮递员创建新实体:
网址: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
答案 0 :(得分:0)
按照MS文档设置Postman环境并使用该环境执行操作:Use Postman with the Dynamics 365 Web API
设置邮递员环境时,请确保在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安全模型将启动并授权数据访问。
答案 1 :(得分:0)
最新版本的邮递员增加了对NTLM身份验证的支持(尽管它仍然是beta版)。您是否正在使用邮递员的NTLM身份验证来调用Crm Dynamics Web API。如果不尝试使用它,它会要求在用户名和密码之外添加域名。希望这可以帮助您解决身份验证问题。