MailChimp API V3 を使用してリストにメンバーを追加する際に問題が発生しました。コードは次のとおりです。
client.BaseAddress = new Uri("https://us12.api.mailchimp.com/3.0/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", "API Key");
var reply = await client.GetStringAsync("lists");
var list = JsonConvert.DeserializeObject<ListResults>(reply);
AddMembers member = new AddMembers {
EmailAddress = "test@yahoo.com",
Status = "subscribed"
};
string url = "lists/" + list.Data[0].Id + "/members";
string jsonData = JsonConvert.SerializeObject(member);
var content = new StringContent(
jsonData,
Encoding.UTF8,
"application/json");
HttpResponseMessage addMember = await client.PostAsync(url, content);
そして、これは MailChimp が期待するものです:
--url 'https://usX.api.mailchimp.com/3.0/lists/57afe96172/members' \
--user 'anystring:apikey' \
--header 'content-type: application/json' \
--data '{"email_address":"urist.mcvankab+3@freddiesjokes.com", "status":"subscribed"}'
しかし、以下のコードの後に得られるもの:
HttpResponseMessage addMember = await client.PostAsync(url, content);
StatusCode '400' の 'Bad Request' メッセージです。私たちは本当に混乱しています。単純な何かが欠けているのかもしれません。