2015-07-01 8 views
8

Ich habe versucht, eine der Antworten auf StackOverflow zu beziehen, um ein neues Mitglied in einer Liste zu erstellen, die ich derzeit besitze. Ich versuche, API v3.0 zu verwenden. Unten ist der Codeausschnitt. HierMailchimp cURL "Mitglied hinzufügen" Fehler

 $apikey = 'api_key_here'; 
     $auth = base64_encode('user:'.$apikey); 

     $data = array(
      'apikey'  => $apikey, 
      'email_address' => '[email protected]', 
      'status'  => 'subscribed', 
      'merge_fields' => array(
       'FNAME' => 'Mihir' 
      ) 
     ); 
     $json_data = json_encode($data); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, 'https://us2.api.mailchimp.com/3.0/lists/my_list_id_here/members/'); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 
                'Authorization: Basic '.$auth)); 
     curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);                             

     $result = curl_exec($ch); 

     var_dump($result); 
     die('Mailchimp executed'); 

ist die Fehlerantwort Ich erhalte:

 string(218) "{"type":"http://kb.mailchimp.com/api/error-docs/404-resource-not-found","title":"Resource Not Found","status":404,"detail":"The requested resource could not be found.","instance":"f03f3b5d-ef59-4452-b502-8a96449025df"}" 

Hilfe ist sehr geschätzt :)

Danke, Mihir.

Antwort

32

Was ich davon ausgehe: Navigiert zu Listen, fand die Liste, der Sie ein Mitglied hinzufügen wollten, und nahm den ID-Parameter aus der URL.

Wenn dies der Fall ist, müssen Sie Folgendes tun: Wechseln Sie zur Verwaltungsseite für die Liste, der Sie ein Mitglied hinzufügen möchten. Klicken Sie auf das Dropdown-Menü Einstellungen. Gehe zu "Listenname und Standardwerte". Verwenden Sie dann die ID, die sich im Abschnitt "Listen-ID" dieser Seite befindet.

+1

Fast zwei Jahre später, und dies hat mir geholfen. Danke – TheNoob

+0

Gleiche Sache wie das OP, das zu mir geschieht, aber diese Antwort funktionierte nicht für mich, obwohl ich die korrekte Listenidentifikation verwende. – Ionut

+0

Überprüfen Sie neben der Listen-ID Ihre URL. Es sollte .api haben. NICHT .admin. in der Adresse. https: //us1.api.mailchimp.com/3.0/lists/... – DarthRez

1

Dies ist wahrscheinlich, weil es die Liste nicht finden kann. Um dies zu überprüfen, geben Sie eine GET an /3.0/lists/your_list_id_here aus. Wenn das eine 200 zurückgibt, wirst du mit dem Support sprechen wollen, weil alles andere oben gut aussieht. Wenn Sie eine 404 erhalten, dann müssen Sie die richtige Listen-ID erhalten (die Sie von GET auf /lists/ finden können).

Auch: Ihr Leben wird unermesslich einfacher gemacht, indem Sie cURL nicht direkt verwenden. Ich empfehle entweder Guzzle

5

Navigieren Sie zu Listen> Einstellungen> Dort finden Sie eine Liste ID zu sehen:

enter image description here

+0

Das gleiche wie das OP passiert mir, aber diese Antwort hat nicht für mich funktioniert, obwohl ich die richtige Liste ID verwenden. – Ionut