2017-11-23 2 views
1

Ich kann Mailchimps-API 3.0-Endpunkte wie /lists mit OAuth 2-Tokens nicht aufrufen.MailChimp-API-Aufruf mit OAuth 2-Token

Ich habe bereits das Token und habe den Endpunkt aus dem /metadata Anruf jedoch, wenn ich versuche, /lists zuzugreifen unter Verwendung des unter

//Get lists 
$client = new \GuzzleHttp\Client(['base_uri' => $datacenter]); 
$headers = [ 
     'Authorization' => 'OAuth ' . $token, 
     'Accept' => 'application/json', 
     'Host' => $client_endpoint, 
     'User-Agent' => 'oauth2-draft-v10' 
    ]; 
$response = $client->request('GET', 'lists', [ 
     'headers' => $headers 
    ]); 
$lists = json_decode($response->getBody()); 

Sicherlich ist es eine einfache Lösung, ich bin neu in OAuth 2 und MailChimp und kämpfen, um Informationen über MailChimp-Anrufe mit OAuth2-Tokens zu finden.

ich auch die unten versucht haben ...

//Get list data 
$client = new \GuzzleHttp\Client(['base_uri' => $client_endpoint]); 
$headers = [ 
     'Authorization' => 'OAuth ' . $token 
    ]; 

$response = $client->request('GET', 'lists',[ 
     'user' => 'anystring:' . $token, 
     'headers' => $headers 
    ]); 
Log::debug($response); 

Jede Hilfe von hier würde

+0

getestet vergaß ich hinzufügen, dass ich Fehler angezeigt 400 schlechte Anfrage für den ersten Versuch und Fehler 404 nicht für die zweite –

+0

Könnten Sie bitte den Antworttext und die Header vom ersten Aufruf geben? '$ response-> getBody() -> getContents();' – Nick

Antwort

0

Es scheint äußerst nützlich sein, dass Authorization: OAuth [token] wie funktioniert nicht in dem Format, in den Header des Tokens die Bereitstellung erwartet.

I abgeschlossen folgende Anfrage PostMan verwenden, Code für Benutzerfreundlichkeit zur Verfügung gestellt:

// GET https://us1.api.mailchimp.com/3.0/lists 
// authorization:"Bearer 0319[redacted]f966" 

$response = $client->get($datacenter.'/3.0/lists', [ 
    'headers' => ['Authorization' => 'Bearer ' . $token] 
]); 
$lists = json_decode($response->getBody()); 

Hinweis: Der Code ist nicht getestet, wird die Anfrage