Я пытаюсь использовать представление билета API Zendesk и в их документации они дают следующий пример в Волнистости:Как отправить запрос cURL, показанный ниже, используя System.Net.Http?
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \ -d '{"ticket": {"requester": {"name": "The Customer", "email": "[email protected]"}, "subject": "My printer is on fire!", "comment": { "body": "The smoke is very colorful." }}}' \ -H "Content-Type: application/json" -v -u {email_address}:{password} -X POST
Я пытаюсь сделать этот запрос POST с использованием библиотеки System.Net.Http:
var httpClient = new HttpClient();
HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(model));
if (httpContent.Headers.Any(r => r.Key == "Content-Type"))
httpContent.Headers.Remove("Content-Type");
httpContent.Headers.Add("Content-Type", "application/json");
httpContent.Headers.Add("Authorization", String.Format("Basic {0}", Convert.ToBase64String(Encoding.ASCII.GetBytes("{user}:{password}"))));
var httpResult = httpClient.PostAsync(WebConfigAppSettings.ZendeskTicket, httpContent);
Я продолжаю получать сообщение об ошибке при попытке добавить заголовок авторизации к контенту. Теперь я понимаю, что HttpContent должен содержать заголовки содержимого.
Как создать и отправить запрос POST, где я могу установить заголовок Content-Type, заголовок авторизации и включить Json в тело, используя библиотеку System.Net.Http?