使用 MailChimp API V3 通过电子邮件搜索成员
Posted
技术标签:
【中文标题】使用 MailChimp API V3 通过电子邮件搜索成员【英文标题】:Search member by email using MailChimp API V3 【发布时间】:2016-09-23 13:34:37 【问题描述】:在 mailchimp api V2 中。我能够使用一种方法检索时事通讯订阅列表:lists/member-info
。
在 V3 中。我必须使用方法:
/lists/listid/members
,检索所有成员,并找到emailid
然后使用方法:/lists/listid/members/emailid
检索订阅列表interest
在我们的例子中,我们现在有 20K+ 个电子邮件地址,所以第 1 步会有点慢(20k/1k=20 次)。有什么方法可以快速获取订阅列表吗?
【问题讨论】:
我很困惑。 . .你从/lists/listid/members/emailid
得到了什么你没有从/lists/listid/members/
得到的东西?
你说得对,.../members 应该这样做,但一次只能列出 1k,列出我更喜欢使用 export/list 的所有成员,这会将所有用户放在一个大转储中。这时候我比较关心一封邮件的订阅,我认为:md5 hash email;那么 .../members/md5hashid 应该是我想做的最快的方法。谢谢。
有道理。请记住,exports API 将在 2016 年底停用,因此到那时您需要想出一种新方法来做到这一点!
【参考方案1】:
好的,只需重新阅读 api 指南的第一页,id 是 md5 哈希,所以我可以生成 id 并进行查询,这将删除第 1 步。对于参考,我发现以下 md5 哈希很有用: How can I generate an MD5 hash?
【讨论】:
【参考方案2】:只是想我会给出将电子邮件字符串转换为 MailChimp 的 MD5 哈希的完整代码解决方案。请务必注意,MD5 哈希值基于电子邮件字符串的小写版本。
public static String generateEndPoint_findMemberByEmail(String listId, String email) throws Exception
byte[] bytesOfMessage = email.toLowerCase().getBytes(StandardCharsets.UTF_8);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5 = md.digest(bytesOfMessage);
String emailHash = Hex.encodeHexString(md5);
return "/lists/" + listId + "/members/" + emailHash;
【讨论】:
以上是关于使用 MailChimp API V3 通过电子邮件搜索成员的主要内容,如果未能解决你的问题,请参考以下文章
通过 MailChimp API v3.0 向列表发送电子邮件?
Mailchimp API v3.0 通过 NodeJS http 添加电子邮件到列表
仅限于通过 R 和 cURL 使用 Mailchimp API v3 提取详细信息(如电子邮件活动)?