Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新订阅服务器';使用PHP cURL和Mailchimp API v3的电子邮件地址_Php_Mailchimp - Fatal编程技术网

更新订阅服务器';使用PHP cURL和Mailchimp API v3的电子邮件地址

更新订阅服务器';使用PHP cURL和Mailchimp API v3的电子邮件地址,php,mailchimp,Php,Mailchimp,我正在尝试使用PHP cURL和Mailchimp API v3更新订阅者的电子邮件地址。我的代码基于以下内容: 但不知怎的,我无法更新电子邮件地址。我可以更新其他字段,但不能更新电子邮件地址。这就是我所拥有的: $data = array( 'apikey' => $mailchimp_api_key, 'email_address' => $orig_email, //'status' => $status, 'me

我正在尝试使用PHP cURL和Mailchimp API v3更新订阅者的电子邮件地址。我的代码基于以下内容:

但不知怎的,我无法更新电子邮件地址。我可以更新其他字段,但不能更新电子邮件地址。这就是我所拥有的:

$data = array(
    'apikey'        => $mailchimp_api_key,
    'email_address' => $orig_email,
    //'status'      => $status,
    'merge_fields'  => array(
        'EMAIL' => $email // also used NEW-EMAIL but it didn't work either
    )
);
$json_data = json_encode($data, JSON_NUMERIC_CHECK);
$url = $mailchimp_api_url.'lists/'.$mailchimp_list_id.'/members/'.md5($orig_email);
$request = 'PATCH';
$result = $this->curl_request($url, $json_data, $request); // in here is basically the cURL request based on VenomRush's question above, in the link

我想我的数据请求有问题。谁能给我指出正确的方向吗?谢谢。

您无法在API v3中更新用户的电子邮件地址。即使是在v2中,它也与仅仅订阅一个新地址没有本质上的区别,所以现在就是这样做的。取消订阅或删除旧电子邮件地址,订阅新电子邮件地址


另外:您不需要在请求主体中传递API密钥(也不应该)。使用HTTP基本身份验证进行身份验证。

您无法在API v3中更新用户的电子邮件地址。即使是在v2中,它也与仅仅订阅一个新地址没有本质上的区别,所以现在就是这样做的。取消订阅或删除旧电子邮件地址,订阅新电子邮件地址


另外:您不需要在请求主体中传递API密钥(也不应该)。使用HTTP Basic Auth进行身份验证。

如果用户有一系列电子邮件首选项,会发生什么情况?创建一个新的订户似乎很奇怪;如何将所有数据迁移到“新”订户?v3的API文档甚至说请求正文,email_address,read only=false。任何独立于电子邮件地址的用户概念都需要来自系统外部,因为MailChimp并不是这样设置的。@TooMuchPete可能是这样,但MailChimp允许订阅者“更新”他们自己的电子邮件地址通过他们的web界面和API的全部要点是与其他系统接口,其中许多人不理解将电子邮件地址更改为“删除此帐户并创建一个具有几乎完全相同数据的新帐户”@TooMuchPete不允许用户通过api更新电子邮件的设计非常糟糕。我在这篇文章中读了你的逻辑和推理至少一次,虽然它在纸上听起来很棒,但实际上它只是一个糟糕的设计。如果这是一个如此罕见的场景,那么为什么允许它出现在MC仪表板中而不是api中?只需向他人陈述我的观点,并陈述比您所意识到的更多的客户需要此功能。我有多个客户需要此功能。使用
新电子邮件
参数可以使用。每个人都有权发表意见。MailChimp架构的未来变化可能会使其在未来成为合理的变化。不过,你会想通过MailChimp的apihelp地址直接向他们表达这些感受。如果用户有一大堆电子邮件偏好,会发生什么?创建一个新的订户似乎很奇怪;如何将所有数据迁移到“新”订户?v3的API文档甚至说请求正文,email_address,read only=false。任何独立于电子邮件地址的用户概念都需要来自系统外部,因为MailChimp并不是这样设置的。@TooMuchPete可能是这样,但MailChimp允许订阅者“更新”他们自己的电子邮件地址通过他们的web界面和API的全部要点是与其他系统接口,其中许多人不理解将电子邮件地址更改为“删除此帐户并创建一个具有几乎完全相同数据的新帐户”@TooMuchPete不允许用户通过api更新电子邮件的设计非常糟糕。我在这篇文章中读了你的逻辑和推理至少一次,虽然它在纸上听起来很棒,但实际上它只是一个糟糕的设计。如果这是一个如此罕见的场景,那么为什么允许它出现在MC仪表板中而不是api中?只需向他人陈述我的观点,并陈述比您所意识到的更多的客户需要此功能。我有多个客户需要此功能。使用
新电子邮件
参数可以使用。每个人都有权发表意见。MailChimp架构的未来变化可能会使其在未来成为合理的变化。不过,您需要通过MailChimp的apihelp地址直接向他们表达这些感受。