这是我第一次使用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>
感谢任何帮助,无论是通过不同的方式来计算这种方法,谢谢!
答案 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。
这应该返回您正在寻找的确切订阅者,而不要求您下载整个列表。