gpt4 book ai didi

php - Guzzle 将正文编码为 Json,但我想要表单数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:36 24 4
gpt4 key购买 nike

我正在尝试向 Googles oAuth 服务器 发布一些内容以进行一些身份验证。 Google 确实需要表单数据中的此信息 (Content-Type: application/x-www-form-urlencoded) 但我的 客户似乎坚持(据我所知)制作正文 JSON。我正在使用 Guzzle 4。*

我已将我的 URL 更改为 PostCatcher.io url,这样我就可以看到结果(因为我这辈子都不知道如何查看实际的原始 HTTP request that guzzle spit out),看起来有 JSON 出来了。

我的代码(我现在正在使用测试 url):

$client = new GuzzleClient();
$url = "https://www.googleapis.com/" . "oauth2/v3/token";
$test_url = 'http://postcatcher.in/catchers/55602457b92ce203000032ae';

$request = $client->createRequest('POST', $test_url);
$request->setHeader('Content-Type', 'application/x-www-form-urlencoded'); //should be redundant

$body = $request->getBody();
$body->setField('code', $code);
$body->setField('client_id', $this->client_id);
$body->setField('client_secret', $this->client_secret);
$body->setField('redirect_url', $this->redicrect_url);
$body->setField('grant_type', $this->grant_type);

try {
$response = $client->send($request);

$result = $response->getBody();

return $result;

} catch (\Exception $exc) {
return $exc->getCode() . ' ' . $exc->getMessage();
}

The documentation says this should be enough. What am I missing ?

最佳答案

我使用 Guzzle 5.2 完成了同样的事情:

$request = $this->createRequest(
$method,
$uri,
['body' => $php_array_of_values ]
);

$response = $this->send($request);

关于php - Guzzle 将正文编码为 Json,但我想要表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30410973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com