Mailchimp:获取随机会员信息

时间:2016-05-21 16:37:34

标签: php mailchimp memberinfo

这是我第一次使用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 /电子邮件,我不确定使用哪些参数或如何使用它。< / p>

感谢任何帮助,无论是通过不同的方式来计算这种方法,谢谢!

2 个答案:

答案 0 :(得分:0)

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

示例:

  

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

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

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

$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";

参考文献:

答案 1 :(得分:0)

首先,值得注意的是,您正在使用将转到go away at the end of the year的MailChimp API版本。如果这是一次性脚本,这里是在v2.0中执行此操作的方法,不需要下载整个列表(相同的概念将在v3中进行一些轻微的更改):

列表中有人数后,请继续生成随机数。然后,使用lists/members endpoint func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UsersTableViewCell if isFavoritesTabActive == true { let object : RChannels = self.favoritesArray.objectAtIndex(indexPath.row) as! RChannels cell.lblChannelname.text = object.channelName let favorite = object.isFavorite if favorite == "true" { cell.favIcon.image = UIImage(named: "Favourite") return cell } else { let object : RChannels = self.noteObjects.objectAtIndex(indexPath.row) as! RChannels cell.lblChannelname.text = object.channelName let favorite = object.isFavorite if favorite == "true" { cell.favIcon.image = UIImage(named: "Favorite") }else { cell.favIcon.image = UIImage(named: "unFavorite") } return cell } 参数等于比随机数小1且start参数等于1。

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