node.js - 使用 mailchimp-api-v3 批量调用不超过 10 个分段成员
问题描述
我已经使用mailchimp-api-v3
了node js
一段时间了,我认为它是一个很棒的包,而且很容易使用。但是,最近我需要使用它的方法GET
对几个细分市场的成员进行细分。.batch()
不幸的是,即使有超过 10 个成员并且count
在调用中指定了超过 10 的查询参数值,每个段也仅返回 10 个成员。和
const mc = require('./mc-config');
const Mailchimp = require('mailchimp-api-v3');
const mailchimp = new Mailchimp(mc.apiKey);
const list_id = mc.list_id;
正如预期的那样,以下每个都返回超过 10 个成员:
mailchimp.request({method:'GET',path:`/list/${list_id}/segments/${segment_id}/members`, query: {count: 1000}})....;
//or
mailchimp.get(`/lists/${list_id}/segments/${segment_id}/members?count=1000`)....;
但是,以下每个段最多只返回 10 个段成员:
mailchimp.batch([
{method:'GET',path:`/lists/${list_id}/segments/${segment_id_1}/members`, query: {count:1000}},
{method:'GET',path:`/lists/${list_id}/segments/${segment_id_2}/members`, query: {count:1000}},
{method:'GET',path:`/lists/${list_id}/segments/${segment_id_3}/members`, query: {count:1000}},
{method:'GET',path:`/lists/${list_id}/segments/${segment_id_4}/members`, query: {count:1000}},
{method:'GET',path:`/lists/${list_id}/segments/${segment_id_5}/members`, query: {count:1000}}
])....;
我认为可能query
完全忽略了参数,但是当我添加以下参数时,我为少于 10 个成员的段返回了更多成员:
.... include_cleaned:true, include_unsubscribed:true ....
有没有其他人遇到过这个问题?有什么我想念的吗?
解决方案
使用Promise.all()
似乎工作得很好,可惜我可以使用.batch()
:
(async () => {
try {
const segments = [segment_id1, segment_id2, segment_id3, segment_id4];
const members = await Promise.all(
segments.map(tag => mailchimp.get(`/lists/${list_id}/segments/${tag}/members?count=1000`))
);
//see how many members are returned
console.log( members.map(m => m.members.length) );
} catch( err ) {
console.log( err );
} finally {
console.log( 'All done' );
}
})();
对于具有超过 10 个成员的每个段/标签,返回所有成员(最多 1000 个)。
推荐阅读
- android-studio - 如何在 Android Studio 中永久卸载旧版本的 CMake?一旦项目同步,它就会自动安装
- php - 一个表单中的两个选择标签,POST方法只获取一个选择标签的值
- webpack - Webpack/html-loader标签href解析
- python - 为什么我无法访问通过 PySpark 上传的 S3 中的文件?
- android - React Native InApp Browser - 选择要上传的文件(文件资源管理器)使 InApp 浏览器仅使用 Google Chrome 关闭
- asp.net-web-api - Ajax 使用表单身份验证调用 Web API
- python - 使用正则表达式将自定义日志文件解析为字典
- ios - SwiftUI 中的实时更新相对时间
- android - 带过滤器的 LiveData?
- c - 这个指针应该以这种方式运行吗?基础 C