如何使用 MailChimp API V3 过滤 http 响应?
Posted
技术标签:
【中文标题】如何使用 MailChimp API V3 过滤 http 响应?【英文标题】:How filter an http response with MailChimp API V3? 【发布时间】:2019-02-03 13:05:00 【问题描述】:我在 NodeJS 工作。我正在尝试在 MailChimp API 中过滤我的“GET”请求的响应。
这里是我的 sn-p.js:
var getList ="https://us18.api.mailchimp.com/3.0/lists/6b3d443365/members"
request(
url: getList,
method: 'GET',
headers:
'Content-Type': 'application/json',
'Authorization': 'apikey ' + password
,
fields: ["id"], // I have also tried: "Fields"
, function(err, res, body)
if (err)
return console.log("err:", err)
console.log("connection succeed");
console.log("res: ", body)
);
我也试过了:
1-
fields:["members.id", "members.email_adress"]
2-
fields:"id"
回复:
BIG BUNCH of data
我所有的尝试都失败了,我的控制台返回给我一大堆包含所有数据的信息。我想过滤它,但我不知道如何制作它。文件确认:
查询字符串参数
字段:
类型:数组
标题:字段
只读:错误
要返回的以逗号分隔的字段列表。参考参数 带有点符号的子对象。
在我看来,我已经按照通知进行了,所以,出了什么问题?
【问题讨论】:
与json: Fields:[ "email_address"]
一起工作得更好,但不再过滤任何东西,无论我在数组中输入什么结果都是一样的
【参考方案1】:
从查询(列表)中获取特定字段我必须执行以下操作:
/3.0/lists?count=100&fields=lists.name,lists.id
我同意上述评论。 Mailchimp API 有可怕的文档。
【讨论】:
【参考方案2】:文档实际上确实说“字段”参数是
要返回的以逗号分隔的字段列表。参考参数 带有点符号的子对象。
https://mailchimp.com/developer/reference/automation/
缺少的关键信息是您需要在每个字段前面加上对根对象的(冗余)引用。
/3.0/automations?fields=automations.id,automations.settings.title
【讨论】:
【参考方案3】:我知道这个问题有点陈旧,但为了其他可能会觉得这很有帮助的人的利益...
Mailchimp API 文档在涉及带有查询字符串的请求示例时很糟糕。我没有使用 nodejs,而是使用 php 和 Curl,并且在指定我希望从 API 返回的确切字段时遇到了类似的问题。
经过数小时的反复试验,我发现唯一可行的查询字符串格式很简单:fields=fieldname1,fieldname2,etc.
我尝试了fields=fieldname1&fields=fieldname2
和(特定于PHP)fields[]=fieldname1&fields[]=fieldname2
和fields=[fieldname1,fieldname2]
和fields=fieldname1,fieldname2
。其他格式均无效。
【讨论】:
我已经尝试了一段时间,但实际上答案很简单,只有一个带有子对象的根元素,您应该从根中选择您在分支中寻找的内容,因为例如:list.prop1.prop.2 等。找到它的简单方法是控制台记录根对象,然后跟踪您要查找的信息在哪里,希望对您有所帮助,并感谢您提供有关该主题的答案【参考方案4】:我同意。可怕的文档。 以下是我仅过滤返回的电子邮件字段的方法:
?fields='members.email_address'
【讨论】:
以上是关于如何使用 MailChimp API V3 过滤 http 响应?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Mailchimp API v3 创建具有地址的列表成员
如何使用 API v3 从 mailchimp 受众获取所有标签?
使用 Mailchimp 的 API v3 将订阅者添加到列表