CRM 2016 api未经授权访问
问题描述:
我编写了此代码,以在2016年连接到CRM并检索一些数据。CRM 2016 api未经授权访问
这是
var credentials = new NetworkCredential("username", "password?", "domain");
var client = new HttpClient(new HttpClientHandler() { Credentials = credentials })
{
BaseAddress = new Uri("https://xxxtestenv.elluciancrmrecruit.com/api/data/v8.0/")
};
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.GetAsync("datatel_events?$orderby=datatel_eventname").Result;
if (response.IsSuccessStatusCode)
{
var yourcustomobjects = response.Content.ReadAsStringAsync();
}
,但我得到这个错误
response {StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{ REQ_ID:b685b007-199b-4a4a-85cc-3a29684e5588 日期:星期四,2016年9月22日19: 27:35 GMT 服务器:Microsoft-IIS/8.5 WWW身份验证:协商 WWW身份验证:NTLM X -Powered-者:ASP.NET 连接:保活 的Content-Length:49 的Content-Type:text/plain的 }} System.Net.Http.HttpResponseMessage
有什么建议?
答
尝试使用以下代码在本地连接到MS CRM。
string strOrganizationUri = "https://{your domain}/XRMServices/2011/Organization.svc";
string strUserName = "{your domain username}";
string strPassword = "{your domain password}";
var organizationUriIFD = new Uri(strOrganizationUri);
var credentials = new ClientCredentials();
credentials.UserName.UserName = strUserName;
credentials.UserName.Password = strPassword;
IServiceConfiguration<IOrganizationService> config = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(organizationUriIFD);
IOrganizationService service;
using (var serviceProxy = new OrganizationServiceProxy(config, credentials))
{
// This statement is required to enable early-bound type support.
serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());
service = serviceProxy;
}
// Get the ID's of the current user and business unit.
var who = new WhoAmIRequest();
//retreive user data from the server.
var whoResponse = (WhoAmIResponse)service.Execute(who);
它是否启用了IFD? –
是的,我们可以从任何地方访问它。当我调试httpclient将链接重定向到我们用来登录crm的另一个链接的代码时发现。这听起来对你来说很正常吗? –