我尝试了以下内容:
AuthenticationParameters ap = await AuthenticationParameters.CreateFromResourceUrlAsync(
new Uri($"{CrmServiceUrl}/api/data/"));
var _authenticationContext = new AuthenticationContext(ap.Authority);
AuthenticationResult result = await _authenticationContext.AcquireTokenAsync(ap.Resource, new ClientCredential(_clientID,secret));
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
var req = await client.GetAsync($"{CrmServiceUrl}/api/data/v8.1/accounts?$select=name&$top=3");
Console.WriteLine(await req.Content.ReadAsStringAsync());
但正在
HTTP Error 401 - Unauthorized: Access is denied
clientid and secret是一个天蓝色的广告服务主体。
答案 0 :(得分:0)
我自己没有这样做,但我猜可能不会。要访问CRM中的数据,您需要在CRM中拥有一个用户帐户 - 这是在验证后如何应用CRM的安全模型。
我建议在这里查看Authenticate users in Microsoft Dynamics CRM,其中介绍了使用CRM进行身份验证的所有方法。