【问题标题】:How to fetch email lists from MailChimp RestAPI如何从 MailChimp Rest API 获取电子邮件列表
【发布时间】:2015-07-16 21:06:42
【问题描述】:

我正在使用 MailChimp API 3.0。我正在尝试从新 API 获取电子邮件列表,并且以下工作正常。

http://usXX.api.mailchimp.com/3.0/lists/3399JU772?apikey=XXYY3399DDFF87336663-usXX

我提供的 API 密钥和列表 ID 是假的。但是使用上面的代码可以得到列表 ID 和相关内容。但是,我尝试使用以下代码仅获取列表的名称

http://usXX.api.mailchimp.com/3.0/lists?fields=lists.name/99uy6633?apikey=xxxyyyzzzxxxeeee-usXX

我收到以下错误

   {"type":"http://kb.mailchimp.com/api/error-docs/401-api-key-missing","title":"API Key Missing","status":401,"detail":"Your request did not include an API key.","instance":"99hhytt-5444f-453gfgfg-bfgfg4bd-4545ggfg"}

是否存在语法错误?除了here,我在文档中找不到语法

感谢您的帮助。

【问题讨论】:

  • 您的查询中有两个 ? 符号,将第二个替换为 & 并重试。 lists.name/99uy6633 也似乎无效 - 您可能需要对 / 进行 url 编码
  • 是的,第二个 URL 就是不好。 /3.0/lists/{list_id}/?fields=lists.name。而且,当您开始真正使用 API 时,建议不要将 API 密钥放在查询字符串中。
  • {"type":"kb.mailchimp.com/api/error-docs/… Fields Invalid","status":422,"detail":"某些请求的字段无效:lists.name","instance":" 93sdfsdfa-fdd2-4344f-3434-fdfd3434"}
  • @TooMUchPete 不走运,但这次有不同的消息,我知道字段名称是正确的。
  • 如果没有看到您的实际请求,很难看到发生了什么,但听起来您真的只需要再次阅读文档并进行更多调试。在请求的其余部分起作用之前,不要添加fields 参数,等等。

标签: rest syntax mailchimp restful-url


【解决方案1】:

如果提供多个​​查询参数(至少 apikeyexclude_fieldsfields),MailChimp API 3.0 当前会出现问题。您可以在授权标头的密码字段中提供它,而不是提供 apikey 作为查询参数。用户名according to the documentation 可以是任何你想要的。

如果使用 curl 调用,请求 name 的部分响应以及用户名为 abcd 且 apikey 为 XXYY3399DDFF87336663-usXX 的列表的联系人的 city 必须如下所示:

curl -XGET -H "Authorization: Basic YWJjZDpYWFlZMzM5OURERkY4NzMzNjY2My11c1hY" https://usXX.api.mailchimp.com/3.0/lists/{listId}/?fields=name,contact.city

请注意,用户名和密码是abcd:XXYY3399DDFF87336663-usXX的base64编码表示!

在我的情况下,对上述请求的响应如下:

{ "name": "testList", "contact": { "city": "Vienna" }}

【讨论】:

  • 感谢您的解释。这就解释了。这意味着我们不能只使用浏览器上的 URL 来测试它。对?顺便说一句,我现在不使用 curl 而是使用 Java。
  • 如果您使用 Java,为什么这会阻止您?即使你使用URLHttpUrlConnectioncan set HTTP headers。 Java 8 现在还正式发布了 Base64 类(在 Java 8 之前,您可以使用其他供应商的实现或 Sun/Oracle 的内部实现)。此外,MailChimp 无法在同一个请求中将 apikey + 字段作为查询参数处理的问题也可能只是暂时的事情
  • 我并不是说我不能在 Java 中使用它,但我把它留作仅供参考。我现在使用 Java 7。我会试一试。谢谢。
  • 顺便说一句,新 API 是否有一个 webhook,我们可以在其中注册我们的应用程序以听取他们方面的更改(当用户订阅/取消订阅时)?订阅的批处理怎么样?新文档看起来有点丢失,我无法一次获得所有信息。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-07-13
  • 2017-05-08
  • 1970-01-01
  • 2015-12-18
  • 2014-04-03
  • 2018-08-05
  • 2016-08-03
  • 2015-05-24
相关资源
最近更新 更多