使用Node.js客户端库向mailchimp请求添加查询参数

问题描述

我正在尝试使用@ mailchimp / mailchimp_marketing npm库从MailChimp api中列出我的全部兴趣,因为这就是他们在文档中用作node.js示例的原因。

链接到npm库: https://www.npmjs.com/package/@mailchimp/mailchimp_marketing

链接到此特定端点的相关文档:https://mailchimp.com/developer/api/marketing/interests/list-interests-in-category/

现在,我可以通过下面的示例代码很好地满足我的兴趣:


const run = async () => {
  const response = await client.lists.listInterestCategoryInterests(
    "list_id","interest_category_id"
  );
  console.log(response);
};

run();

问题在于,认情况下,MailChimp API仅返回列表中的前10个项目,而我需要15个项目。当然,可以通过添加查询参数count=15来更改它的简便方法。但是,我找不到任何通过官方库提供的listInterestCategoryInterests方法传递查询参数的方法

!TL; DR!所以我的问题是: 是否有人知道如何通过官方的node.js npm库将查询参数传递给mailchimp API,还是我真的不得不诉诸于完全删除该库,因为它不提供此基本功能

解决方法

您需要以数组中的字符串形式列出参数:

const response = await client.lists.listInterestCategoryInterests({fields:[    "list_id,interest_category_id"]}
  );

注意:以下可能需要前缀:

const response = await mailchimp.reports.getAllCampaignReports({fields:["reports.campaign_title,reports.clicks"]})

结果:

[0] {
[0]   reports: [
[0]     { campaign_title: 'COACT EMAIL CAMPAIGN',clicks: [Object] },[0]     { campaign_title: '',clicks: [Object] }
[0]   ]
[0] }
,
const response = await mailchimp.lists.getListMembersInfo(listId,{
                    count: 1000
                });
,

对于来到这里希望学习如何将 QUERY 参数传递到 mailchimp 营销库方法的每个人:

查询参数取自 opts 对象 - 对象属性必须是驼峰式大小写。

opts 对象是方法的哪个参数而言 - 这取决于方法,您可能需要检查方法的源代码,但可能需要检查第二个或第三个参数。

至于具体方法的问题,应该是这样的:

await client.lists.listInterestCategoryInterests(
    "list_id","interest_category_id",{ count: 15 }
  );