2016-09-22 113 views
0

网络的API我们有前提CRM 2016和想用C#来使用API​​:CRM 2016年C#

var credentials = new NetworkCredential(username, password); 
HttpClient client = new HttpClient(new HttpClientHandler() {Credentials = credentials}); 
client.BaseAddress = new Uri("https://xxx.elluciancrmrecruit.com/api/data/v8.0/datatel_events"); 
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
HttpResponseMessage response = client.GetAsync("datatel_events?$orderby=datatel_eventname").Result; 
if (response.IsSuccessStatusCode) 
{ 
    var yourcustomobjects = response.Content.ReadAsStringAsync(); 
} 
else 
{ 
    //Something has gone wrong, handle it here 
} 

但它总是返回HTML页面后说,而不是JSON响应尝试。

回答

0

您应该查询OData端点以获取您正在查找的信息,前提是date1_events是一个自定义实体(尽管命名约定似乎关闭)。

作为一个例子来查询contacts

var credentials = new NetworkCredential(username, password); 
var client = new HttpClient(new HttpClientHandler() {Credentials = credentials}) 
{ 
    BaseAddress = new Uri("https://xxx.elluciancrmrecruit.com/api/data/v8.0/") 
}; 
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
var response = client.GetAsync("accounts?$top=1").Result; 
if (response.IsSuccessStatusCode) 
{ 
    var yourcustomobjects = response.Content.ReadAsStringAsync(); 
} 
+0

非常感谢。 II试图使用你的代码,现在它说401未经授权的访问。我使用相同的用户名和密码登录CRM。任何建议 –

+0

您的用户名是否格式正确(包括域名)?尝试通过'NetWorkCredential'重载传递域名? – dynamicallyCRM

+0

我确实添加了域,但它的身份验证正常,但我收到此消息 错误 发生错误。 再次尝试此操作。如果问题仍然存在,请检查Microsoft Dynamics CRM社区以获取解决方案,或联系您组织的Microsoft Dynamics CRM管理员。最后,您可以联系Microsoft支持。 –