如何使用MailChimp API V3过滤http响应?

时间:2018-08-28 20:18:18

标签: javascript node.js mailchimp mailchimp-api-v3.0

如何使用MailChimp API V3过滤http响应? 我在NodeJS中工作。我正在尝试在MailChimp API中过滤“ GET”请求的响应。

这是我的snippet.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"

  

res:BIG BUNCH of data

我所有的尝试都失败了,我的控制台向我返回了一大堆包含所有数据的信息。我想过滤它,但是我不知道如何制作它。该文件确认:

  

查询字符串参数

     

字段:

     

类型:数组

     

标题:字段

     

只读:false

     

要返回的字段的逗号分隔列表。参考参数   点符号的子对象。

在我看来,我已经遵循了通知,那么,出了什么问题?

3 个答案:

答案 0 :(得分:1)

我知道这个问题有些陈旧,但是为了其他可能对此有所帮助的人的利益...

关于带有查询字符串的请求的示例,Mailchimp API文档很烂。我没有使用nodejs,而是使用PHP和Curl,并且在指定要从API返回的确切字段时遇到了类似的问题。

经过数小时的反复试验,我发现可以使用的仅查询字符串格式很简单:fields=fieldname1,fieldname2,etc.我尝试了fields=fieldname1&fields=fieldname2和(特定于PHP的)fields[]=fieldname1&fields[]=fieldname2和{{1} }和fields=[fieldname1,fieldname2]。其他格式均无效。

答案 1 :(得分:1)

从查询(列表)中获取特定字段,我必须执行以下操作:

/3.0/lists?count=100&fields=lists.name,lists.id

我同意以上评论。 Mailchimp API具有可怕的文档。

答案 2 :(得分:1)

该文档实际上确实说'fields'参数是

要返回的字段的逗号分隔列表。参考参数 点符号的子对象。

https://mailchimp.com/developer/reference/automation/

缺少的关键信息是,您需要在每个字段前面加上对根对象的(冗余)引用。

/3.0/automations?fields=automations.id,automations.settings.title