Zendesk のチケット送信 API を使用しようとしていますが、そのドキュメントでは cURL で次の例を示しています。
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
-d '{"ticket": {"requester": {"name": "The Customer", "email": "thecustomer@domain.com"}, "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
System.Net.Http ライブラリを使用して、この POST リクエストを作成しようとしています。
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);
Authorization ヘッダーをコンテンツに追加しようとすると、エラーが発生し続けます。HttpContent にはコンテンツ タイプ ヘッダーのみが含まれることになっていることがわかりました。
Content-Type ヘッダー、Authorization ヘッダーを設定し、System.Net.Http ライブラリを使用してボディに Json を含めることができる POST 要求を作成して送信するにはどうすればよいですか?