我正在使用Xamarin.Forms开发一个APP,并且需要访问Dynamics 365平台上托管的数据。 在开发人员资源部分,Microsoft为我提供了一个访问URL: https://XXXXXX.api.crm4.dynamics.com/api/data/v9.1/和客户端ID。
有了这些数据,是否足以访问平台?根据Microsoft文档,我需要在Active Directory中注册该APP,但是按照其中指示的步骤,我没有设法进行连接。
但是在Azure中注册APP时提供给我的客户端ID与平台中提供的客户端ID完全不同。我还获得了访问凭据,但是没有办法。
我有以下代码。
常量的值
Constantes.API_URL = https://XXXXXX.api.crm4.dynamics.com/api/data/ Constantes.CLIENT_ID =通过在Active Directory中注册该应用程序(而不是它们在平台中提供给我的应用程序) Constantes.CLIENT_KEY =通过在Active Directory中注册应用程序。
AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(
new Uri(Constantes.API_URL)).Result;
String authorityUrl = ap.Authority;
String resourceUrl = ap.Resource;
//return resourceUrl;
ClientCredential creditential = new ClientCredential(Constantes.CLIENT_ID, Constantes.CLIENT_KEY);
AuthenticationContext authContext = new AuthenticationContext(authorityUrl, false);
AuthenticationResult result = null;
result = await authContext.AcquireTokenAsync(resourceUrl, creditential);
return result.AccessToken;