如何使用mailchimp API在javascript中通过一个请求显示所有元素

问题描述 投票:0回答:2

我正在调用 API mailchimp 来获取成员列表,并使用以下代码显示我的成员的所有电子邮件地址:

client = require("@mailchimp/mailchimp_marketing");


client.setConfig({
apiKey: "MY API KEY",
server: "MY SERVER",
});


const run = async () => {
  const response = await client.lists.getListMembersInfo("LIST ID");
  for (element of response.members){
    arrayObject = Object.values(element);
    console.log(arrayObject[1]);
 };
};

run();

“我的 API 密钥”、“我的服务器”和“列表 ID”是假的,我的代码中有真实的。

我的问题是只显示前 10 个电子邮件地址,但我总共有 1058 个电子邮件地址。 我可以提出 105 个其他请求来获取 1058 个总电子邮件地址,但我不知道该怎么做。我也不知道如何更改

count
参数,因为我不使用 URL 来调用我的 API。

那么,如何显示终端中的所有项目?

javascript node.js api mailchimp mailchimp-api-v3
2个回答
2
投票

如果您浏览 git 存储库,您可以看到

getListMembersInfo
方法采用第二个参数,您可以在其中指定
count

const response = await client.lists.getListMembersInfo("LIST ID", { count: 100 });

0
投票

这正是您问题的解决方案,但它是相关的。我在使用相同的功能时遇到问题。它不尊重 count 参数给出的值。我已经尝试过节点客户端库和 Thunder 客户端。文档称最多可以返回 1000 条记录。不管我做什么,我只能得到 10 条记录。计数 + 偏移量也不起作用,因此无法通过发出分页请求来检索其他记录。

每个响应需要 1.5-2.9 秒。即使我可以使用 count 和 offset 来检索 100 条记录,但如果是小批量,那么加起来就会是一个非常长的过程。

所以,上面的答案对我来说不起作用,尽管根据文档它应该起作用。

© www.soinside.com 2019 - 2024. All rights reserved.