Mailchimp createCampaign例外506

时间:2011-05-07 16:25:35

标签: php email hash mailchimp

我正在尝试使用api和campaignCreate()方法创建mailchimp广告系列..我的代码如下:

<?php
$message = array(
  'html'=>'Yo, this is the <b>html</b> portion',
  'text'=>'Yo, this is the *text* portion',
  'subject'=>'Hey you',
  'from_name'=>'Me!',
  'from_email'=>'wedding@email.com',
'to_email'=>'starsinmypockets@email.com',
'to_name'=>'Paul',
);

$apikey = '9xxxxxxxx84f6168a82bf10c-us2';
$api = new MCAPI($apikey);
$opts['list_id'] = '0184c0c626';
$opts['subject'] = 'Testing';
$opts['from_email'] = 'wedding@email.com';
$opts['from_name'] = 'Pam & Kelly';
$opts['to_name'] = 'Dearly beloved';
$content = array(
  'html' => 'http://wedding.com/foo/bar',
  'text' => "Hey, you've been invited to Pam & Kelly's wedding. Follow the link below     to rsvp! We hope you can make it. We're going to eat ice cream and cupcakes!",
  'url' => '',
  'archive' => '',
);
$cid = $api->campaignCreate($apikey, 'auto', $opts, $content);

if ($api->errorCode){
$output = "Unable to Create New Campaign!";
$output .= "\n\tCode=".$api->errorCode;
$output .= "\n\tMsg=".$api->errorMessage."\n";
} else {
$output =  "New Campaign ID:" . $cid . "\n";
}
//$return = campaignSendNow($apikey, $cid);
return $output;

}
?>

这将返回以下错误消息:

无法创建新广告系列! Code = 506 Msg =必须包含“options”参数,且必须是数组/散列。

嗯,$ opts是选项数组。它肯定是一个数组,虽然我不知道它们的正确含义是“哈希”还是与我有关。

有什么想法?我很难过。

1 个答案:

答案 0 :(得分:1)

您错误地修改了示例代码。 MCAPI包装器使用$apikey构造它,因为每个方法都需要它,然后在每次调用时包含它以简化操作。所以,

$cid = $api->campaignCreate($apikey, 'auto', $opts, $content);

应该是:

$cid = $api->campaignCreate('auto', $opts, $content);

此外,从您看到的代码混合(MCAPI和STS参数变量),您的other question,以及您现在正在尝试创建自动回复并认为您可以发送它的事实,我建议花一些时间阅读有关广告系列类型以及一般情况下的工作方式,同时使用knowledge base交叉引用API文档并在应用中工作。 API Google Group中还有很多讨论可供查看。是的,那也是我的。