当我尝试从列表中获取所有成员时,我收到了比我需要的更多数据。
我只想最小化4个字段的返回json,但似乎'fields'参数并没有真正起作用。
这是我的代码:
package.json
我使用以下API: https://github.com/drewm/mailchimp-api
谢谢!
答案 0 :(得分:0)
您需要在字段前面加上“成员”。如果您看一下原始的JSON输出,则更清楚了为什么-这些项在一个封闭的“成员”项中返回。
答案 1 :(得分:0)
对于迟到的任何人,您必须在每个单独字段(此处为数组元素)的开头添加“members.”,因为 API 参考中没有给出明确的示例,上面的代码看起来像
$list_id = $this->_job->getListId();
$list = $this->_MailChimp_obj->get('lists/' . $list_id . '/members', array(
'fields' => array(
'members.id',
'members.email_address',
'members.subscribed',
'members.merge_fields' //members.merge_fields.any_subfield_name
),
'count' => 50,
'offset' => 0
));
此外,如果您将 Node.js 与 MailChimp 营销 API 一起使用,代码将是:
const mailchimp = require("@mailchimp/mailchimp_marketing");
mailchimp.setConfig({
apiKey: "your api key",
server: "your server prefix",
});
const listId = "your list id";
const offset = 0;
const count = 10;
const run = async () => {
const response = await mailchimp.lists.getListMembersInfo(listId, {
offset,
count,
fields: ['members.id','members.email_address','members.subscribed','members.merge_fields'],
});
console.log(response);
};
run();