mailchimp api的json post请求中出错

本文关键字:请求 出错 post json api mailchimp | 更新日期: 2023-09-27 18:30:02

我正在尝试为以下内容创建一个包装器:这种使用C#.Net 的mailchimp方法

据我所知,已经有.Net包装器可用。我正在使用Dan Esparza的Mailchimp.Net。包装器类中的方法为上面提到的api方法提供了异常。它抛出了内部服务器异常(500),我不知道为什么,所以我决定为特定方法创建自己的包装器。我有以下代码:

private void CreateGrouping(string apiKey, string listId,string groupName,string groupValue)
        {
            string url = "https://us9.api.mailchimp.com/2.0/lists/interest-grouping-add";
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);

            httpWebRequest.ContentType = "text/json";
            httpWebRequest.Method = "POST";
            List<string> values = new List<string>();
            values.Add(groupValue);
            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                string json = new JavaScriptSerializer().Serialize(new
                {
                    apiKey = apiKey,
                    id  = listId,
                    name = groupName,
                    type="radio",
                    groups = values
                });
                streamWriter.Write(json);
            }

            var response = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(response.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
            }
        }

但在执行var response = (HttpWebResponse)httpWebRequest.GetResponse();时抛出了相同的异常——内部服务器错误(500)。可能是我以错误的方式传递数据?有人能帮我找出我在这里缺了什么吗?

mailchimp api的json post请求中出错

因为我怀疑我以错误的方式传递数据:apiKey必须是apiKey(k是大写的)

string json = new JavaScriptSerializer().Serialize(new
                {
                    apikey = apiKey,
                    id  = listId,
                    name = groupName,
                    type="radio",
                    groups = values
                });

除此之外,我补充道:

streamWriter.Flush();
streamWriter.Close();

这可能有助于人们节省一些时间。