リストのすべてのメンバー(50000を超える)をダウンロードしようとしていますが、MailChimpAPI全体でダウンロードする方法が見つかりません。一方、私は以下のように「GetAllMembersForList」メソッドを使用しようとしましたが、すべてを取得するわけではありません(彼は600しか取得しません)。
それらのメンバーリストをダウンロードする他の方法があるかどうか誰かに知らせてもらえますか?
public List<string> GetListMembers(string membersList)
{
ListResult lists = mc.GetLists();
List<string> li = new List<string>();
foreach(var list in lists.Data)
{
if (list.Name == membersList)
{
MembersResult res;
for (int i = 0; i <= list.Stats.MemberCount; i = i + 100)
{
res = new MembersResult();
res = mc.GetAllMembersForList(list.Id, "subscribed", i, 100);
foreach (var member in res.Data)
li.Add(member.Email);
}
break;
}
}
return li;
}
私はついに自分で解決策を見つけました。私はここhttps://apidocs.mailchimp.com/export/1.0/list.func.phpを見つけ、以下のようなものを実装しました。私は誰かがこれを改善できると完全に確信していますが、それは私がその時に必要としていたものです。
誰かが実装したい場合のコードは次のとおりです。
public List<string> GetListMembers(string membersList, string status, string since = "")
{
List<string> li = new List<string>();
//to see what does <dc> means? follow this link https://apidocs.mailchimp.com/api/rtfm/
string linkPage = @"http://<dc>.api.mailchimp.com/export/1.0/list/?apikey={0}&id={1}&status={2}{3}";
ListInfo list = mc.GetLists().Data.Where(x => x.Name == membersList).FirstOrDefault();
linkPage = string.Format(linkPage, conectionMailChimp, list.Id, status, !string.IsNullOrEmpty(since) ? "&since=" + since : string.Empty);
WebClient wc = new WebClient();
string text = wc.DownloadString(linkPage);
text = text.Replace("\"", "");
string[] res = text.Split(new[] { "]\n[" }, StringSplitOptions.None);
for (int i = 1; i < res.Length; i++)
li.Add(res[i].Split(new[] { "," }, StringSplitOptions.None)[0].ToString());
return li;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加