Как я могу получить OAuth Access Token для Microsoft Dynamics 365 V9, используя API NetCore - PullRequest
1 голос
/ 24 мая 2019

У меня есть Aspnet Core API, который пытается подключиться к экземпляру Microsoft Dynamics 365.Цель состоит в том, чтобы передать данные в экземпляр CRM с помощью API.

Для этого у меня есть пользователь CRM и пропуск, и я понимаю, что мне понадобится токен OAuth для фактического выполнения моего запроса.Как я могу получить этот токен OAuth из API?

Мой текущий (нерабочий) код выглядит следующим образом:

  using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(CrmFInanceCCNotifyDto.Instance.CrmBaseUri);
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                "Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes($"{CrmFInanceCCNotifyDto.Instance.CrmUser}:" +
                $"{CrmFInanceCCNotifyDto.Instance.CrmPass}")));
                client.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
                client.DefaultRequestHeaders.Add("OData-Version", "4.0");
                client.DefaultRequestHeaders.Add("Accept", "application/json");
                client.DefaultRequestHeaders.Add("If-Match", "*");
                var method = "PATCH";
                var httpVerb = new HttpMethod(method);
                string path = client.BaseAddress + CrmFInanceCCNotifyDto.Instance.CrmLocationUpdateUri;
                string jsonPayload = "{\"entity.dfnd_financingused\": 1}";
                var stringContent = new StringContent(jsonPayload, Encoding.UTF8, "application/json");
                var httpRequestMessage =
                    new HttpRequestMessage(httpVerb, path)
                    {
                        Content = stringContent
                    };
                try
                {
                    var response = await client.SendAsync(httpRequestMessage);

Любые указатели при решении этой проблемы будут высоко оценены.

Спасибо

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