【问题标题】:Can't add subscriber to group MailChimp API 3.0 C#无法将订阅者添加到组 MailChimp API 3.0 C#
【发布时间】:2017-05-31 04:04:46
【问题描述】:

当我想将订阅者添加到兴趣时,将布尔值设置为 true,它仍然是 false。使用类似请求更新合并字段值没有问题。在调试时,我注意到两者之间的一个区别,那就是兴趣在请求中具有“键”和“值”,而合并字段则没有:

关于兴趣的响应看起来像这样,它既没有“key”也没有“value”。

我做错了什么?

我的 updateMember 函数的相关部分如下所示:

static void updateMember(){
    Dictionary<string, object> mergefieldsDic = new Dictionary<string, object>();
    mergefieldsDic.Add("POSTCODE","4242");

    Dictionary<string, bool> interestDic = new Dictionary<object, bool>();
    interestDic.Add("cb0b422bf8", true);

    request.RequestFormat = DataFormat.Json;
    request.AddBody(new MemberRequest(mergefieldsDic, interestDic));

    IRestResponse<Member> response = client.Execute<Member>(request);

    foreach (var key in response.Data.merge_fields.Keys)
    {
        string value = response.Data.merge_fields[key].ToString();
        Console.WriteLine(value);
    }
    foreach (var key in response.Data.interests.Keys)
    {
        string value = response.Data.interests[key].ToString();
        Console.WriteLine(value);
    }
}

我的 MemberRequest 类看起来像这样

public class MemberRequest
{
    public MemberRequest(){}
    public MemberRequest(Dictionary<string, object> merge_fields, Dictionary<object, bool> interests)
    {
        this.merge_fields = merge_fields;
        this.interests = interests;
    }
    public string email_address { get; set; }
    public string status { get; set; }
    public Dictionary<string,object> merge_fields { get; set; }
    public Dictionary<object, bool> interests { get; set; }
}

我的会员类看起来像这样

public class Member
{
    public string id { get; set; }
    public string email_address { get; set; }
    public string status { get; set; }
    public Dictionary<string,object> merge_fields { get; set; }
    public Dictionary<object,bool> interests { get; set; }
}

我尝试将这两个兴趣字典更改为 &lt;bool,object&gt;\&lt;string,bool&gt;&lt;string,string&gt;,但没有任何效果。

如果我不使用 MemberRequest 类而只做request.AddBody(new { interests = new { cb0b422bf8 = true} });,我会设法让它工作

【问题讨论】:

  • When I want to add a subscriber to a interest it doesn't work .... 请解释一下it doesn't work 的含义。你收到错误了吗?
  • @ekad 感谢您让我更好地提出问题。我重新表述了这个问题,即使我尝试将布尔值设置为 true,它仍然是 false。

标签: c# restsharp mailchimp-api-v3.0


【解决方案1】:

由于某种原因,我在更新成员时没有收到错误,但是当我尝试使用上述类创建新成员时,我从 API 收到了一个错误的请求,即兴趣是数组而不是对象必须。为了解决这个问题,我将我的兴趣从Dictionary&lt;string,bool&gt;改为Dictionary&lt;string,object&gt;

最初,当我更改字典时,我最终有两个几乎相同的构造函数,因此我的错误是“以下方法或属性之间的调用不明确”。

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2018-05-15
    • 2020-08-20
    • 2023-04-05
    • 2015-11-11
    • 2015-08-13
    • 2016-06-12
    • 2015-05-18
    • 2015-10-17
    相关资源
    最近更新 更多