C# 在MVC上添加Mailchimp联系人

C# 在MVC上添加Mailchimp联系人,c#,asp.net-mvc,mailchimp,mailchimp-api-v3.0,C#,Asp.net Mvc,Mailchimp,Mailchimp Api V3.0,当表单在数据库中注册时,我想通过MVC控制器中的Mailchimp api添加Mailchimp订户。 所以我使用下面的代码和特鲁利编写的api键 public void AddContact(string email, string name, string surname, string listKey = "7f0c43ed8f") { string apiKey = "apikey comes here"; string u

当表单在数据库中注册时,我想通过MVC控制器中的Mailchimp api添加Mailchimp订户。 所以我使用下面的代码和特鲁利编写的api键

public void AddContact(string email, string name, string surname, string listKey = "7f0c43ed8f") { string apiKey = "apikey comes here"; string url = string.Format("https://us8.api.mailchimp.com/3.0/lists/{0}/members/", listKey); string data = "{\"email_address\": \"" + email + "\",\"status\": \"subscribed\",\"merge_fields\": {\"FNAME\": \"" + name + "\",\"LNAME\": \"" + surname + "\"}}"; WebRequest myReq = WebRequest.Create(url); myReq.Method = "POST"; myReq.ContentLength = data.Length; myReq.ContentType = "application/json; charset=UTF-8"; string usernamePassword = "anystr:" + apiKey; UTF8Encoding enc = new UTF8Encoding(); myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(enc.GetBytes(usernamePassword))); using (Stream ds = myReq.GetRequestStream()) { ds.Write(enc.GetBytes(data), 0, data.Length); } WebResponse wr = myReq.GetResponse(); Stream receiveStream = wr.GetResponseStream(); StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8); string content = reader.ReadToEnd(); } public void AddContact(字符串电子邮件、字符串名称、字符串姓氏、字符串listKey=“7f0c43ed8f”) { string apiKey=“apiKey来了”; 字符串url=string.Format(“https://us8.api.mailchimp.com/3.0/lists/{0}/members/”,列表键); 字符串数据=“{\”电子邮件地址\“:\”+电子邮件+“\”,\”状态\“:\”已订阅\“,\”合并字段\“:{\”FNAME\“:\”+姓名+“\”,\”LNAME\“:\”+姓氏+“\”}”; WebRequest myReq=WebRequest.Create(url); myReq.Method=“POST”; myReq.ContentLength=data.Length; myReq.ContentType=“application/json;charset=UTF-8”; 字符串usernamePassword=“anystr:”+apiKey; UTF8Encoding enc=新的UTF8Encoding(); myReq.Headers.Add(“授权”,“基本”+Convert.ToBase64String(enc.GetBytes(usernamePassword))); 使用(流ds=myReq.GetRequestStream()) { 写入(enc.GetBytes(data),0,data.Length); } WebResponse wr=myReq.GetResponse(); Stream receiveStream=wr.GetResponseStream(); StreamReader=新的StreamReader(receiveStream,Encoding.UTF8); 字符串内容=reader.ReadToEnd(); } 但这段代码有时有效。有时它会给出“400错误请求”错误,我找不到任何关于这个问题的错误或解决方案。 我感谢你的帮助。
提前谢谢。

你试过了吗?你试过了吗?