[英]Create QuoteProduct in Dynamics CRM 2016 using new Web API and JavaScript POST
[英]add new record in CRM using web API
我正在尝试使用 Javascript 向 CRM 添加记录,但得到:
401 未经授权的错误。
我的问题是如何获取令牌并在 JavaScript 函数中使用它。
$(document).ready(function() {
$("#Save").click(function() {
var ProductDetails = new Object();
ProductDetails.ProductName = $("#txt_productName").val();
ProductDetails.ProductDetail = $("#txt_desc").val();
$.ajax({
url: "https://mycrm.dynamics.com/api/data/v9.1/Products",
type: "Post",
dataType: 'JSON',
data: ProductDetails,
contentType: 'application/x-www-form-urlencoded',
success: function(data) {
alert('Updated Successfully');
},
error: function(request, status, error) {
alert(request.status);
}
});
});
});
您需要在 Http Header 中添加授权信息。 如果您使用 JWT,这是一个示例。
$(document).ready(function() {
$("#Save").click(function() {
var ProductDetails = new Object();
ProductDetails.ProductName = $("#txt_productName").val();
ProductDetails.ProductDetail = $("#txt_desc").val();
$.ajax({
url: "https://mycrm.dynamics.com/api/data/v9.1/Products",
type: "Post",
headers: {
'Accept':'application/json',
'Content-Type':'application/json',
'Authorization':'Bearer your token here'
},
dataType: 'JSON',
data: ProductDetails,
contentType: 'application/x-www-form-urlencoded',
success: function(data) {
alert('Updated Successfully');
},
error: function(request, status, error) {
alert(request.status);
}
});
});
});
您必须像这样添加带有不记名令牌的标头:
$.ajax({
(...)
headers: {
"Authorization": "Bearer " + token
},
(...)
为了获得令牌,您必须先在 Azure Active Directory 中注册一个应用程序,在与您的 Dynamics 365 实例相同的租户中。 如果您需要详细的分步指南,请查看此链接。
在 AAD 中注册您的应用程序后,您还必须添加一些代码以使用 Azure 进行身份验证并获取令牌。 ADAL.js为您完成这项工作,但请记住,它会提示用户在 Office 365 弹出窗口中手动添加他的用户名和密码。 这称为交互式身份验证,据我所知这是无法避免的。
有关完整的 HTML + JS 工作示例,请单击此处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.