リクエストパラメータとして以下を使用してHTTPPostを送信する方法について誰かがアドバイスできますか?
{
"key": "example key",
"message": {
"html": "<p>Example HTML content</p>",
"text": "Example text content",
"subject": "example subject",
"from_email": "[email protected]",
"from_name": "Example Name",
"to": [
{
"email": "[email protected]",
"name": "Recipient Name"
}
],
"headers": {
"Reply-To": "[email protected]"
},
"important": false,
"track_opens": null,
"track_clicks": null,
"auto_text": null,
"auto_html": null,
"inline_css": null,
"url_strip_qs": null,
"preserve_recipients": null,
"view_content_link": null,
"bcc_address": "[email protected]",
"tracking_domain": null,
"signing_domain": null,
"return_path_domain": null,
"merge": true,
"global_merge_vars": [
{
"name": "merge1",
"content": "merge1 content"
}
],
"merge_vars": [
{
"rcpt": "[email protected]",
"vars": [
{
"name": "merge2",
"content": "merge2 content"
}
]
}
],
"tags": [
"password-resets"
],
"subaccount": "customer-123",
"google_analytics_domains": [
"example.com"
],
"google_analytics_campaign": "[email protected]",
"metadata": {
"website": "www.example.com"
},
"recipient_metadata": [
{
"rcpt": "[email protected]",
"values": {
"user_id": 123456
}
}
],
"attachments": [
{
"type": "text/plain",
"name": "myfile.txt",
"content": "ZXhhbXBsZSBmaWxl"
}
],
"images": [
{
"type": "image/png",
"name": "IMAGECID",
"content": "ZXhhbXBsZSBmaWxl"
}
]
},
"async": false,
"ip_pool": "Main Pool",
"send_at": "example send_at"
}
RestSharpを使用してこれを行う方法がわかりません
やあ、
1)JSONをPOCOに変換します(http://json2csharp.com/はそのために最適です)。
2)
var yourobject = new MyObject {.....................};
var json = JsonConvert.SerializeObject(yourobject);
var client = new RestClient(url);
var request = new RestRequest(actionPath、Method.POST);
request .AddParameter( "application / json; charset = utf-8"、json、ParameterType.RequestBody);
request .RequestFormat = DataFormat.Json;
_client.ExecuteAsync(restRequest、response => ........);
私もtks!
後世のために、RestSharpにはこのためのメソッドが組み込まれています。
RestRequest
のAddJsonBody()
メソッドを確認してください
とにかく、これはRestSharp105.0.1.0以降では正しいです。
最も参考になるコメント
やあ、
1)JSONをPOCOに変換します(http://json2csharp.com/はそのために最適です)。
2)
var yourobject = new MyObject {.....................};
var json = JsonConvert.SerializeObject(yourobject);
var client = new RestClient(url);
var request = new RestRequest(actionPath、Method.POST);
request .AddParameter( "application / json; charset = utf-8"、json、ParameterType.RequestBody);
request .RequestFormat = DataFormat.Json;
_client.ExecuteAsync(restRequest、response => ........);