Ziel ist es, den Autorisierungscode für das Zugriffs- und Aktualisierungstoken auszutauschen.Autorisierungsanfrage an Feedly API wirft eine falsche Anfrage mit Guzzle?
Fehler:
GuzzleHttp\Exception\ClientException #400
Client error response
[url] http://sandbox.feedly.com/v3/auth/token?code=[auth_code]&client_id=sandbox&client_secret=[secret]&redirect_uri=https%253A%252F%252F[site url]&grant_type=authorization_code&state=%23
[status code] 400
[reason phrase] Bad Request
Verwandte Code:
$client = new GuzzleHttp\Client();
$parameters = ['code'=>$_GET['code'],'client_id'=>'sandbox','client_secret'=> '[secret]','redirect_uri'=>urlencode('https://[site url]'),'grant_type'=>'authorization_code', 'state'=>'#'];
$params = http_build_query($parameters);
$request = $client->createRequest('POST', 'http://sandbox.feedly.com/v3/auth/token?'.$params);
$request->addHeader('Accept-Encoding','GZIP');
$request->setHeader('Authorization', "auth-code");
$request->addHeader('Content-Type','application/json');
$response = $client->send($request);
var_dump($response->json());
auch versucht, mit state = "state.passed.in"
aber gleichen Fehler wirft.
Können Sie auf den Fehler im Code-Snippet hinweisen. Es verwendet die Feedly API v3 Sandbox und den Guzzle HTTP Client.
Wenn die URL der Anfrage folgt, wird "get not allowed" ausgelöst.
Aktualisiert Code-Schnipsel:
$client = new GuzzleHttp\Client();
$parameters = ['code'=>$_GET['code'],'client_id'=>'sandbox','client_secret'=> '[secret]','redirect_uri'=>urlencode('https://[site url]'),'grant_type'=>'authorization_code', 'state'=>'#'];
$params = http_build_query($parameters);
$request = $client->createRequest('POST', 'http://sandbox.feedly.com/v3/auth/token?'.$params);
$response = $client->send($request);
var_dump($response->json());
Fehler auf aktualisierten Code:
GuzzleHttp\Exception\ServerException #522
Server error response [url] http://sandbox.feedly.com/v3/auth/token?code=[auth_code]&client_id=sandbox&client_secret=[secret]&redirect_uri=https%253A%252F%252F[site url]&grant_type=authorization_code&state=%23
[status code] 522
[reason phrase] Origin Connection Time-out
Hinweis: Das Update-Code wird den gleichen Fehler zu werfen (nach ein paar Stunden), das ist
GuzzleHttp\Exception\ClientException #400
Client error response
[url] http://sandbox.feedly.com/v3/auth/token?code=[auth_code]&client_id=sandbox&client_secret=[secret]&redirect_uri=https%253A%252F%252F[site url]&grant_type=authorization_code&state=%23
[status code] 400
[reason phrase] Bad Request
Der 522-Statuscode ist kein Standard. Ich weiß, dass er von CloudFare verwendet wird, um zu signalisieren, dass eine Serververbindung abgelaufen ist. Dies kann ein Problem auf Feedly-Servern sein. Siehe [Error-522-Connection-timed-out] (https://support.cloudflare.com/hc/en-us/articles/200171906-Error-522-Connection-timed-out). –
Danke für die Erklärung. Das war hilfreich. Ich habe den Code entsprechend aktualisiert und erhalte einen '[Statuscode] 522 [Grundphrase] Origin Connection Timeout Fehler '. Ich habe den aktualisierten Code und den Fehler in der Frage hinzugefügt. Ich ging die Details des Fehlers durch und fand, dass es sich um einen Serverfehler handelt. Könnten Sie etwas über den Fehler aufklären? Gibt es eine Lösung (falls ich etwas vermisse) kann ich mich von meiner Seite bewerben? –
Der gleiche Fehler ist mit dem aktualisierten Code aufgetreten: '[Statuscode] 400 [Grundphrase] Bad Request' nach dem Versuch für einige Stunden. Der Fehler 522 wird jetzt nicht ausgelöst. Könnten Sie bitte etwas Licht in dieses Thema bringen? –