当前位置: 首页 > 知识库问答 >
问题:

Mailchimp addListMember返回客户端错误400错误请求,当已存在[重复]

孔厉刚
2023-03-14
Client error: `POST https://us10.api.mailchimp.com/3.0/lists/xxxxxxxxxx/members` resulted in a `400 Bad Request` response:
{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"Member Exists","status" (truncated...)
try {
    $response = $mailchimp->lists->addListMember($this->settings_helper->get('mailchimp_list_id'), [
        "email_address" => $form->get_field_value('email'),
        "status" => "subscribed",
        "merge_fields" => [
            "FNAME" => $first_name,
            "LNAME" => $last_name
         ]
    ]);
    
    if ($response->getId()) {
        $this->add_json_success($this->settings_helper->get('mailchimp_success_message'));
    }
} catch (MailchimpMarketing\ApiException $e) {
    $errors[] = $e->getMessage();
} catch (ClientErrorResponseException $e) {
    $errors[] = $e->getMessage();
} catch (GuzzleHttp\Exception\ClientException $e) {
    $errors[] = $e->getMessage();
}

我可以捕获400的错误代码并输出一个自定义错误,但我肯定我一定做错了,从Mailchimp API得到如此无益的响应?

非常感谢,安迪和所有的帮助都很感激。

共有1个答案

徐绪
2023-03-14

我也有同样的问题,所以我最终通过将最后一个catch子句更改为以下内容来引导错误消息查看整个错误:

catch (GuzzleHttp\Exception\ClientException $e) {
  echo '<pre>' . var_export($e->getResponse()->getBody()->getContents()).'</pre>';
  $errors[] = $e->getMessage();
}

这揭示了以下糟糕的错误,到目前为止,该错误已被截断:

{
    "type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
    "title":"Invalid Resource",
    "status":400,
    "detail":"Isabell_Murazik@example.com looks fake or invalid, please enter a real email address.",
    "instance":"fcc1d762-2475-40a6-bc7f-4ac7f3fb7902"
}

所以,我的问题是@example.com看起来是假的或无效的...

 类似资料:
  • 我试图使用Gmail API将用户设置应用到Gmail帐户,但它不断返回错误400错误请求。 我可以看到错误代码在Gmail API控制台,它来自我的服务号,所以代码不可能是如此错误,但它让我发疯,只是不能找出什么是错误的。 如果有人能给我指出正确的方向,我会非常感激。

  • 我正在为Angular练习&。 我在从客户端创建查询时遇到了问题。 我已经成功地在后端创建了graphql查询。 无法找到解决方案答案。请帮忙。

  • 问题内容: 这工作正常: 这将返回400 Bad Request(只是使用.ajax来支持错误处理的上述jQuery的重新格式)。 问题答案: 我认为您只需要再添加2个选项(和):

  • 我试图建立一个连接器从谷歌云下载文件。为此,我使用云存储API客户端库Java(v1beta2-rev23-1.17.0-rc) 我正在使用oAuth2.0,并遵循云控制台帮助中提到的步骤。 验证我可以通过gsutil和api浏览器访问我的桶。 从示例下载了代码,添加了我的client_secrets.json并添加了一行来列出我的桶内容。 我犯了一个错误 400错误请求:“错误”:“未经授权的\

  • 我在调试模式下运行它,并附加了一个包含异常详细信息的图像。我怎么知道出了什么问题?我试图在表中插入数据。azure不能告诉我更多细节吗? Obs:存储在Windows Azure上,而不是我的机器上。表已创建,但我在插入数据时出现此错误 下面是插入代码:

  • 我目前使用vue-apollo包为Apollo客户机,使用VueJs堆栈,使用django和graphene-python为我的GraphQl API。 下面是vue-apollo的一个简单设置: 返回以下错误响应: 然而,在我的vue应用程序中,常规查询可以很好地解决正确的响应,除了突变,所以这让我真的很困惑