【发布时间】: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; }
}
我尝试将这两个兴趣字典更改为 <bool,object>、\<string,bool> 和 <string,string>,但没有任何效果。
如果我不使用 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