从邮递员到Microsoft Dynamics CRM 365的POST / GET请求

时间:2019-02-07 05:18:33

标签: dynamics-crm postman microsoft-dynamics dynamics-crm-webapi dynamics-crm-365-v9

我试图使用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

2 个答案:

答案 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。如果不尝试使用它,它会要求在用户名和密码之外添加域名。希望这可以帮助您解决身份验证问题。