0

我正在使用此代码获取受众中的成员列表,并将他们的电子邮件地址放入数组中:

var mailchimpMarketing = require("@mailchimp/mailchimp_marketing");

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

async function getArrayEmailMembersFromMailchimpListID(listID, offset , count){
  const response = await mailchimpMarketing.lists.getListMembersInfo(listID, {offset, count});
  const emailsMailchimp = response.members.map(member => member.email_address);
  console.log(emailsMailchimp)
  return emailsMailchimp;
}

async function getEmailsAccordingSize(listID){
  const response = await mailchimpMarketing.lists.getListMembersInfo(listID)
  offset = 0
  totalItems = await response.total_items
  do { 
    count = 1000
    getArrayEmailMembersFromMailchimpListID(listID, offset, count)
    offset = offset + 1000
  } while (offset < totalItems);
}

getEmailsAccordingSize("MY LIST ID");

我的问题是,当我向观众中的一个非常大的成员列表制作这个时,它会返回给我这个错误:

(node:8014) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Too Many Requests
(node:8014) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我假设我只能连续打 10 个电话。那么我怎样才能赚更多呢?我的听众有 37 000 名成员,我必须获取他们所有的电子邮件地址。

我不明白 mailchimp 网站 ( https://mailchimp.com/developer/guides/run-async-requests-with-the-batch-endpoint/ ) 上解释的批次端点。可以分批做吗?如何 ?

4

0 回答 0