【问题标题】:Search member by email using MailChimp API V3使用 MailChimp API V3 通过电子邮件搜索成员
【发布时间】:2016-09-23 13:34:37
【问题描述】:

在 mailchimp api V2 中。我能够使用一种方法检索时事通讯订阅列表:lists/member-info。 在 V3 中。我必须使用方法:

  1. /lists/{listid}/members,检索所有成员,并找到emailid
  2. 然后使用方法:/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 年底停用,因此到那时您需要想出一种新方法来做到这一点!

标签: email search mailchimp subscription mailchimp-api-v3.0


【解决方案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;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-05-08
      • 2016-08-01
      • 2018-07-31
      • 2012-11-15
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 2018-07-13
      • 2011-07-14
      相关资源
      最近更新 更多