0

这是我第一次使用 MailChimp API,我一直在查看一些示例并试图自己解决这个问题,但我似乎无法获得我需要的东西。

我的帐户上只有一个列表,我正在尝试举办一场比赛,从列表中随机选择一位获胜者。到目前为止,我已经设法检索到列表中的成员总数,并从中生成了一个随机数作为“获胜者”。现在我需要从列表成员数组中位于该位置的列表中找到成员,但我不确定如何去做。

这是我到目前为止所拥有的:

include "Mailchimp.php";

/* Load member count */
function mcg_mc_sub_count() {
    $MailChimp = new MailChimp('*****');
    $list = $MailChimp->call('lists/list');
    $total_members .= $list[data][0][stats][member_count];
    return number_format($total_members);
}   

/* Generate random number */
function mcg_mc_random_number() {
    $total_members = mcg_mc_sub_count();
    $random_number = rand(1, $total_members);
    return $random_number;
}

我认为此时我应该使用$MailChimp->call('lists/member-info');,但由于我只有一个随机位置而不是成员 ID/电子邮件,我不确定要使用哪些参数或如何去做。

感谢您通过其他方式或通过其他方式解决此问题的任何帮助,谢谢!

4

2 回答 2

0

我认为你的逻辑是正确的。MailChimp 不提供随机成员的 API,但您可以获取列表并在数组中创建随机函数。

例子:

首先使用该类并使用您的 API 密钥创建一个实例

use \DrewM\MailChimp\MailChimp;
$MailChimp = new MailChimp('abc123abc123abc123abc123abc123-us1');

然后,列出所有邮件列表(使用 list 方法获取)

$result = $MailChimp->get('lists');
print_r($result);

因此,使用列表,您可以调用成员并将其放入数组中。然后你可以使用一些函数来获取数组中的随机值。

$input = array("Member 1", "Member 2", "Member 3", "Member 4", "Member 5");
$rand_keys = array_rand($input, 1);
echo $input[$rand_keys[0]] . "\n";

参考:

于 2016-05-21T19:59:53.063 回答
0

首先,值得注意的是,您使用的 MailChimp API 版本将在今年年底停用。以防万一这是一个一次性脚本,这是在 v2.0 中执行此操作的方法,不需要下载整个列表(相同的概念将在 v3 中进行一些细微的改动):

一旦你有名单上的人数,继续生成你的随机数。然后,使用列表/成员端点start参数等于随机数小 1,limit参数等于 1。

这应该会返回您正在寻找的确切订阅者,而无需您下载整个列表。

于 2016-05-22T19:11:05.130 回答