我正在使用 http://phphttpclient.com/的Httpful PHP库,这是我的示例代码:
$data = array(
'code' => $request->query->get('code'),
'client_id' => $this->container->getParameter('GOOGLE_CLIENT_ID'),
'client_secret' => $this->container->getParameter('GOOGLE_CLIENT_SECRET'),
'redirect_uri' => $google_redirect,
'grant_type' => "authorization_code"
);
$response = Request::post($url)->body($data)->sendsType(Mime::FORM)->send();
var_dump($response);
die();
我的问题是如何添加表单数据。我试图阅读文档,但找不到任何解释,只有发送 xml 和 Json 示例,但我无法在请求中使用表单数据获得正常的 POST。
有人请帮助我..
终于我找到了答案,感谢@Xiquid指导我找到答案,这是我使用 php httpful rest 客户端发送帖子数据的工作答案:
$google_redirect = $request->getSchemeAndHttpHost().$this->generateUrl('myroutename')."?platform=google";
$url = "https://www.googleapis.com/oauth2/v3/token";
$data = array(
'code' => $request->query->get('code'),
'client_id' => $this->container->getParameter('GOOGLE_CLIENT_ID'),
'client_secret' => $this->container->getParameter('GOOGLE_CLIENT_SECRET'),
'redirect_uri' => $google_redirect,
'grant_type' => "authorization_code"
);
$response = RestRequester::post($url)
->method(Http::POST) // Alternative to Request::post
->withoutStrictSsl() // Ease up on some of the SSL checks
->expectsJson() // Expect HTML responses
->sendsType(Mime::FORM)
->body('grant_type=authorization_code&code='.$data['code']."&client_id=".$data['client_id']."&client_secret=".$data['client_secret']."&redirect_uri=".$data['redirect_uri'])
->send();
var_dump($response);
die();
以下是我发布数据的方式:
$response = HttpfulRequest::post($uri)
->body([
'hello' => 'world',
'lorem' => 'ipsum',
'Date' => '2020-04-29',
], HttpfulMime::FORM)
->send();
如果我需要发布 JSON :
$response = HttpfulRequest::post($uri)
->sendsJson()
->body([
'hello' => 'world',
'lorem' => 'ipsum',
'Date' => '2020-04-29',
], HttpfulMime::JSON)
->send();