【问题标题】:php laravel mailchimp curl request not workingphp laravel mailchimp curl请求不起作用
【发布时间】:2019-04-08 18:04:21
【问题描述】:

所以我正在尝试使用 curl 请求为用户订阅 mailchimp。我遵循了一些集成指南。该请求有效。我只是一个 boolean false 的响应,不知道我在这里错过了什么。

 $apiKey = *mailchimp api Key*;
 $server = *server*;
 $list = *mailchimp list id*;
 public function index(Request $request){       
    $auth = base64_encode( 'user:'.$apiKey);
    $post = array(
      'apikey'=> $apiKey, 
      'email_address' =>  $request->input('EMAIL'),
      'status'        => 'subscribed',
      'merge_fields'  => array(
          'FNAME' => $request->input('FNAME'),
          'BIZNAME' => $request->input('BIZNAME')
       )
    );
    $json_data = json_encode($post);
    $url = "https://".$server.".api.mailchimp.com/3.0/lists/".$list."/members/";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.$auth));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
    $json_response = curl_exec($ch);
    header("Content-Type: application/json;charset=utf-8");
    curl_close($ch);
    return response()->json($json_response);
}
  • 我尝试了一些 Laravel 包装器,但更新的并不多,因此尝试通过 curl 来实现。

【问题讨论】:

  • $server$list 设置在哪里?
  • 就在函数之外,为了清楚起见将包括它。

标签: php curl mailchimp


【解决方案1】:

所以弄清楚问题出在@kerbholz,感谢您指出正确的方向。服务器属性派生自 API 密钥。

// get the server data center
  $server= substr($apiKey,strpos($apiKey,'-')+1);

// set the url 
  $url = "https://".$server.".api.mailchimp.com/3.0/lists/".$list."/members";

【讨论】:

    猜你喜欢
    • 2016-05-23
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多