EDIT:
此问题不一定特定于您试图实现的目标。
尽管如此,我们的 1.0.6 包装器中肯定存在一个错误。
在包装器代码中,我们使用第四个参数json_decode()
函数,仅在 PHP 5.4 中引入(请参阅“Changelog”部分here http://php.net/manual/en/function.json-decode.php).
有两种方法可以解决这个问题:
- 将系统的 PHP 版本更新到 >= 5.4
- 或者(直到我们引入修复程序),在本地修改包装器以不使用该选项(请参阅here https://github.com/mailjet/mailjet-apiv3-php-simple/blob/master/src/Mailjet/php-mailjet-v3-simple.class.php#L319), 这很可能会带来新问题,但不建议修复.
希望这有帮助。我们当然很感激这引起了我们对这个特定问题的关注:)
Edit2:
为了澄清这一点,以下是第二种方法在代码方面的含义:
$this->_response = json_decode($buffer, false, 512, JSON_BIGINT_AS_STRING);
//Becomes
$this->_response = json_decode($buffer, false, 512);
这应该消除警告and解决问题。那不是很棒吗? ;-)
由于我确实无法重现您的问题,这里有一个问题:
当您发出以下代码时,您尝试创建的联系人是否列在响应中?
或者,去here https://app.mailjet.com/contacts/subscribers/contact_list获取您帐户的联系人列表。
$mj = new Mailjet($apiKey, $secretKey);
$contact = $mj->contact();
var_dump($contact);
如果是的话,这就是我在我的文章中写的原因回答你的另一个问题 https://stackoverflow.com/a/30326542/3425488不起作用。
But why?
嗯,您正在尝试创建一个已在您的帐户中列出的联系人。创建联系人的过程并不一定意味着必须将其分配到联系人列表。
The fix
在将现有联系人添加到列表之前,先获取现有联系人的 ID,而不是创建它:
$mj = new Mailjet($apiKey, $secretKey);
$viewContact = [
"method" => "VIEW",
"unique" => "[email protected] /cdn-cgi/l/email-protection"
];
$contact = $mj->contact($viewContact);
echo "Contact ID: ".$contact->Data[0]->ID."\n";
// Then proceed as described in my original answer.
或者通过删除它网页界面 https://app.mailjet.com/contacts/subscribers/contact_list并尝试再次遵循我的回答。
(单击联系人的电子邮件,然后单击其头像旁边的黄色菜单,然后单击remove.)
Does that解决你的问题吗? :-)