You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP调用Mailchimp API时fields外参数被忽略如何正确传参

PHP版Mailchimp Marketing API查询参数传递正确示例

核心规则

Mailchimp 官方V3版PHP SDK的lists->getListMembersInfo方法仅支持两个入参:

  • 第一个参数为字符串类型的邮件列表ID
  • 第二个参数为包含所有查询参数的关联数组,字段筛选、分页、过滤等所有规则都需要放在该数组内

正确调用示例

// SDK初始化
$client = new MailchimpMarketing\ApiClient();
$client->setConfig([
    'apiKey' => '你的API_KEY',
    'server' => '你的SERVER_PREFIX', // 通常为apiKey最后一段,比如us12、us21
]);

$response = $client->lists->getListMembersInfo(
    'xx_list_id_xxx',
    [
        // 字段筛选:如需校验返回数量,建议保留total_items顶层返回字段
        'fields' => 'total_items,members.email_address,members.status,members.full_name,members.ip_signup,members.location.latitude,members.location.longitude,members.location.country_code',
        'count' => 300, // 单次请求最大支持1000条,超出会被自动截断
        // 可按需追加其他官方支持的查询参数,示例如下
        'offset' => 0, // 分页偏移量,用于拉取超过1000条的全量数据
        'status' => 'subscribed' // 仅返回已订阅状态的成员
    ]
);

// 结果验证
// 总符合条件的成员数
echo $response->total_items;
// 当前接口返回的成员条数,配置count=300时此处正常返回300
echo count($response->members);

全量成员拉取示例(成员数超过1000时)

$allMembers = [];
$offset = 0;
$pageSize = 1000;

do {
    $res = $client->lists->getListMembersInfo('xx_list_id_xxx', [
        'fields' => 'total_items,members.email_address,members.status,members.full_name',
        'count' => $pageSize,
        'offset' => $offset
    ]);
    $allMembers = array_merge($allMembers, $res->members);
    $offset += $pageSize;
} while ($offset < $res->total_items);

常见失效原因排查

  1. 传参时未将所有查询参数放入第二个关联数组,单独拆分参数传入无效
  2. 配置fields参数时未包含total_items等顶层字段,导致无法校验返回结果
  3. count参数传入字符串类型,部分低版本SDK要求必须传入整数

内容的提问来源于stack exchange,提问作者ravenshill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:09:06