Пример быстрого запуска Web API - PullRequest
1 голос
/ 04 июня 2019

Я работаю над интеграцией с Dynamics 365 и следую примеру Web API (C #) .Хотя это работает, есть две проблемы с образцом, с которыми мне хотелось бы разобраться.

Во-первых, в примере используется старая версия пакета Microsoft.IdentityModel.Clients.ActiveDirectory, и объясняется, что этопотому что:

Этот пример зависит от возможности передавать учетные данные пользователя без отдельного диалогового окна входа в Azure, которое недоступно в версии 3.x этой библиотеки.

Во-вторых, в примере используется этот жестко заданный идентификатор клиента от Microsoft:

// Azure Active Directory registered app clientid for Microsoft samples
string clientId = "51f81489-12ee-4a9e-aaae-a2591f45987d";

Учитывая, что я использую учетные записи Office365 и не вижу, как Azure вписывается в картину, каков наилучший способ достиженияподключение к Dynamics365 без проблем, упомянутых выше?

1 Ответ

1 голос
/ 12 июля 2019

быстрый способ начать работу с расширениями Dynamics 365 с C # - использовать SDK, это доступно через NuGet (XrmTooling), поэтому вы можете использовать строку подключения вместо клиентской и секретной клавиши, предоставленной Azure AD, вот пример кода, использующего WhoAmIRequest

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

var urlMask = "AuthType=Office365;Username={1}; Password={2};Url={0};RequireNewInstance=True";
var fullUrl = string.Format(urlMask, url, user, pass);

var conn = new CrmServiceClient(fullUrl);
var _orgService = conn.OrganizationWebProxyClient ?? (IOrganizationService)conn.OrganizationServiceProxy;

WhoAmIRequest req = new WhoAmIResquest();
WhoAmIResponse resp = _orgService.Execute(req) as WhoAmIResponse;

Console.Write(resp.UserId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...