如何使用JavaScript将联系人添加到Dynamics CRM 365

如何使用JavaScript将联系人添加到Dynamics CRM 365,javascript,dynamics-crm,dynamics-365,dynamics-crm-365,Javascript,Dynamics Crm,Dynamics 365,Dynamics Crm 365,Microsoft Dynamics CRM Web API似乎支持OData,并支持使用JavaScript添加新实体,例如联系人。我尝试用下面的代码访问API,但我有两个问题。一个是跨源资源共享,它不允许执行脚本,另一个是访问被拒绝错误 var req = new XMLHttpRequest() req.open("POST",encodeURI(clientURL + "/api/data/v8.1/accounts"), true); req.setRequestHeader("Acc

Microsoft Dynamics CRM Web API似乎支持OData,并支持使用JavaScript添加新实体,例如联系人。我尝试用下面的代码访问API,但我有两个问题。一个是跨源资源共享,它不允许执行脚本,另一个是访问被拒绝错误

var req = new XMLHttpRequest()
req.open("POST",encodeURI(clientURL + "/api/data/v8.1/accounts"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
 if (this.readyState == 4 /* complete */) {
  req.onreadystatechange = null;
  if (this.status == 204) {
   var accountUri = this.getResponseHeader("OData-EntityId");
   console.log("Created account with URI: "+ accountUri)
  }
  else {
   var error = JSON.parse(this.response).error;
   console.log(error.message);
  }
 }
};
req.send(JSON.stringify({ name: "Sample account" }));

如何以及何时执行脚本?在实体窗体、外部应用程序、嵌入式HTML iFrame..?@DaveClark另一个域上的外部web应用程序。在这种情况下,您需要在Azure中将Dynamics注册为应用程序,并通过ADAL向Dynamics进行身份验证@DaveClark,我在上面读到了一些东西。这是一个内部安装,我通过IP地址连接到它。没有注册就没有办法做手术吗?您认为在服务器端(使用Xrm工具集)创建一个简单的Web API来执行我需要的简单操作的想法如何?嗨,Jason,到目前为止,我认为您无法实现这一点。通过ADAL发布的代币在Azure Ad上有效,但在Prem one上无效(我在1年前广泛尝试了这一点,但没有成功,可能是现在情况有所改变,但我怀疑,您也需要检查D365许可证,因为许可证方面可以根据您计划的使用情况对其进行限制)。如果您构建自己的API,那么该功能将变得可用,但是您需要自己管理API上的身份验证部分。