2017-01-16 6 views
0

サブスクライバを関心対象に追加し、ブール値をtrueに設定する場合はfalseのままです。私は、同様の要求を使用してマージフィールドの値を更新することに問題はありません。デバッグ時に私は2つの間に1つの違いに気づき、それがマージフィールドがいない間の利害がリクエストで、「キー」と「値」を持っていることです。サブスクライバをMailChimp API 3.0にグループに追加できませんC#

enter image description here

応答に関する利害関係がどのように見えますこれは "キー"と "値"のどちらも持っていません。

enter image description here

私が間違って何をしているのですか?

私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; } 
} 

Iのように見えます両方の利害関係の辞書を<bool,object>、に変更しようとしましたと<string,string>ですが、何も機能しませんでした。私が作成しようとしたときに

は私がMemberRequestクラスを使用して、ちょうど私が私がメンバーを更新し、エラーを取得していないいくつかの理由についてrequest.AddBody(new { interests = new { cb0b422bf8 = true} });

+1

'興味を持っている加入者を追加したいときにはうまくいきません。間違いましたか? – ekad

+0

@ekad私の質問にもっと気に入ってくれてありがとう。私はそれを真に設定しようとしてもブール値が偽のままであると言う質問を言い換えました。 – ptrask

答えて

0

をしない場合には動作するようにそれを取得するために管理します上記のクラスの新メンバー私はAPIから、興味がアレイであり、オブジェクトではないという悪い要求を受けました。これを解決するために私はDictionary<string,bool>Dictionary<string,object>に変更しました。

最初に辞書を変更したときに、ほぼ同じ2つのコンストラクタがあったため、「次のメソッドやプロパティ間で呼び出しが曖昧です」というエラーが発生しました。

関連する問題