我正在尝试创建一个案例并将关联联系人关联到primarycontactId字段中。我正在使用备用密钥来查找联系人,如下所示。将primarycontactid关联到Case-Dynamics CRM Web API
POST https://xxxxx.crm.dynamics.com/api/data/v8.2/incidents HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Content-Type: application/json; charset=utf-8
Host: xxxxxx.crm.dynamics.com
Content-Length: 161
{
"title": "case101",
"[email protected]": "https://xxxxx.crm.dynamics.com/api/data/v8.2/contacts(xxi_xxx='2533274975913147')"
}
代码如下
using (HttpClient httpClient = new HttpClient())
{
var method2 = new HttpMethod("POST");
Uri requesturi = new Uri(string.Format("{0}/api/data/v8.2/", url));
httpClient.BaseAddress = requesturi;
httpClient.Timeout = new TimeSpan(0, 0, 4); // 10 minutes
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
result = GetS2SAccessToken(url, pwd);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result);
httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0");
HttpRequestMessage request = new HttpRequestMessage(method,string.Format("contacts(xxxxx_xxxx='{0}')",xxxx.ToString()));
request.Content = new StringContent(props.ToString(), Encoding.UTF8, "application/json");
HttpRequestMessage request2 = new HttpRequestMessage(method2, string.Format("incidents"));
request2.Content = new StringContent(props1.ToString(), Encoding.UTF8, "application/json");
HttpResponseMessage createResponse1;
createResponse1 = await httpClient.SendAsync(request2);
return createResponse1.Content;
}
但是我得到:
出现意外的错误 “” innererror “:{ ”消息“:” 发生意外错误。 “,”type“:”System.ServiceModel.FaultException。“,”type“:”System.ServiceModel.FaultException
1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.CreateEdmEntity(CrmODataExecutionContext context, String edmEntityName, EdmEntityObject entityObject, Boolean isUpsert)\r\n at Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]","stacktrace":" at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Create(Entity entity, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, Dictionary
2 optionalParameters)\ r \ n at Microsoft.Crm.Extensibility.OData.CrmODataExecutionContext.Create(Entity entity)\ r \呐t Microsoft.Crm.Extensibility.OData.EntityController.PostEntitySet(String entitySetName,EdmEntityObject entityObject)\ r \
有没有人遇到过这个?
当我使用customerIderror“:{ ”code“:”“,”message“:”一个未声明的属性'customerid',它只在有效负载中具有属性注释但在有效负载中没有找到属性值时,我得到以下错误。在OData中,只有声明的导航属性和声明的命名流才可以表示为没有值的属性。“,”innererror“:{ ”message“:”一个未声明的属性'customerid',它只在有效载荷中具有属性注释但没有p –
任何关于如何将我的代码传递给Jobject的建议?感谢帮助! –
尝试使用CRM Rest构建器构建请求 –