Как мне сделать вызовы к api linkedin, используя guzzle? Пока я пробовал
$client = new \GuzzleHttp\Client(['base_uri' => 'https://api.linkedin.com']);
$access_token = 'the_access_token';
$req = $client->request('POST', '/v1/people/~?format=json', [
'headers' => ["Authorization" => "Bearer " . $access_token,
"Content-Type" => "application/json", "x-li-format"=>"json"],
'client_id' => 'the_client_id',
'client_secret' => 'the_client_secret',
'connection' => 'Keep-Alive'
]);
dd($req);
но я просто получаю сообщение об ошибке:
Client error: POST https://api.linkedin.com/v1/people/~?format=json resulted in a 405
Я работаю с Laravel 5.1 и жрать 6.2.
Глупая ошибка просто должна была измениться $client->request('POST',
от POST
в GET
так будет:
$client = new \GuzzleHttp\Client(['base_uri' => 'https://api.linkedin.com']);
$access_token = 'the_access_token';
$req = $client->request('GET', '/v1/people/~?format=json', [
'headers' => ["Authorization" => "Bearer " . $access_token,
"Content-Type" => "application/json", "x-li-format"=>"json"],
'client_id' => 'the_client_id',
'client_secret' => 'the_client_secret',
'connection' => 'Keep-Alive'
]);
dd($req);
Я также расшифровал ответ, который делает его читаемым, используя json_decode($request->getBody())
,
Надеюсь, это поможет, если кто-то застрянет на той же проблеме.
Других решений пока нет …