3

我正在尝试使用他们的 API 从 MailChimp 邮件列表中显示订阅者数量,并且我已经部分工作,除了下面的代码当前正在为所有列表而不是一个特定列表吐出订阅者数量。我在$listId ='XXX';行中指定了列表 ID 但这似乎不起作用。因为我总共有五个列表,所以下面 PHP 的输出显示了这一点:

10 0 0 1 9

我需要在下面的代码中做什么才能从特定列表 ID 中获取订阅者数量?

<?php
/**
This Example shows how to pull the Members of a List using the MCAPI.php 
class and do some basic error checking.
**/
require_once 'inc/MCAPI.class.php';

$apikey = 'XXX';
$listId = 'XXX';

$api = new MCAPI($apikey);

$retval = $api->lists();

if ($api->errorCode){
    echo "Unable to load lists()!";
    echo "\n\tCode=".$api->errorCode;
    echo "\n\tMsg=".$api->errorMessage."\n";
} else {
    foreach ($retval['data'] as $list){
        echo "\t ".$list['stats']['member_count'];
    }
}

?>

我刚刚遇到了这个函数(见下文),它让我使用已知的 list_id 返回一个列表。问题是,我不确定如何在函数中添加 list_id。

我假设我需要在这一行中定义它?$params["filters"] = $filters;

MailChimp lists()方法文档可以参考这里:http ://apidocs.mailchimp.com/rtfm/lists.func.php

    function lists($filters=array (
), $start=0, $limit=25) {
        $params = array();
        $params["filters"] = $filters;
        $params["start"] = $start;
        $params["limit"] = $limit;
        return $this->callServer("lists", $params);
    }
4

2 回答 2

2

我强烈建议不要破坏包装器的内部,因为它不会像在线文档和包装器中包含的示例那样有用。使用包装器意味着您在进行正确调用时将有效地填充您追踪的行。

任何人,这就是你想要的:

$filters = array('list_id'=>'XXXX');
$lists = $api->lists($filters);
于 2011-03-18T21:07:30.937 回答
1

Mailchimp 在http://apidocs.mailchimp.com/downloads/#php围绕他们的 api 提供了一个预先构建的 php 包装器。这个 api 包括一个函数 lists() ,根据它的文档,它返回除其他外:

int member_count 给定列表中的活动成员数。

看起来这是您在上面提到的功能。您所要做的就是遍历返回的列表以找到具有正确 id 的列表。从那里您应该能够查询订阅者数量以及有关列表的许多其他统计信息。

于 2011-03-10T07:22:23.723 回答