Mailchimp:获取随机成员信息



这是我第一次使用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/email,因此我不确定要使用哪些参数或如何处理。

感谢任何帮助弄清楚这种方法或通过不同的方式,谢谢!

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

例:

首先使用类并使用 API 密钥创建实例

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

然后,列出所有邮件列表(使用 get on the 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";

裁判:

  • 邮件黑猩猩应用程序接口
  • PHP array_rand

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

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

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

最新更新