В реализации Google Oauth2 я пытаюсь обменять код авторизации для токенов, используя вызов жужжания.Как сделать сообщение Guzzle с использованием параметров строки запроса
Следующая жрать вызов отлично работает и возвращает ожидаемые значения:
$result = $this->client->post(
'https://www.googleapis.com/oauth2/v3/token?code=<authorization_code>&redirect_uri=<redirect_uri>&client_id=<client_id>&client_secret=<client_secret>&grant_type=authorization_code')
->getBody()->getContents();
Однако это, кажется, грязный способ монтирования запрос на почту.
Я попытался следующим образом, чтобы сделать его чище:
$result = $this->client->post(
'https://www.googleapis.com/oauth2/v3/token',
[
'query' =>
[
'code' => <authorization_code>,
'redirect_uri' => <redirect_uri>,
'client_id' => <client_id>,
'client_secret' => <client_secret>
'grant_type' => 'authorization_code',
]
]
)->getBody()->getContents();
Однако этот второй вызов генерирует сообщение об ошибке с Malformed Json
.
Любая идея, что я могу сделать неправильно, или как я могу отлаживать, какой окончательный url генерируется в примере выше?
Мое первое предположение заключалось в том, что отправляемые запросы как-то не идентичны. Я бы начал использовать параметр «debug». Передайте значение true в качестве опции для создания вашего клиента или в вашем почтовом запросе. –