Php 使用Guzzle 6时Quickblox API错误
我正在使用“guzzle http/guzzle”:“^6.1”和Laravel 4.2 我正在尝试对quickblox进行post调用,但返回422错误。这是我在控制器中的代码:Php 使用Guzzle 6时Quickblox API错误,php,guzzle,guzzle6,Php,Guzzle,Guzzle6,我正在使用“guzzle http/guzzle”:“^6.1”和Laravel 4.2 我正在尝试对quickblox进行post调用,但返回422错误。这是我在控制器中的代码: $client = new GuzzleHttp\Client(); $sessionGuzzle = $client->request('POST', 'https://api.quickblox.com/session.json',['headers' => ['Content-Typ
$client = new GuzzleHttp\Client();
$sessionGuzzle = $client->request('POST', 'https://api.quickblox.com/session.json',['headers' => ['Content-Type' => 'application/json' , 'QuickBlox-REST-API-Version'=>'0.1.0'],'json' => $jsonBody]);
$response = $client->send($sessionGuzzle);
dd($response->json());
GuzzleHttp\Exception\ClientException(422)
客户端错误:422
422是HTTP状态代码-不可处理实体 看起来quickblox API拒绝了您的调用,因为您发送了错误的头或正文
尝试将
'json'=>$jsonBody
更改为'body'=>$jsonBody
,并确保$jsonBody
是json编码的字符串。根据422上的Quickblox文档,当
已使用登录名的用户
根据Quickblox文档,提供的时间戳必须是NTP的+/-10分钟。在$jsonBody中没有任何附加变化的“json”,这就是我在$jsonBody中的内容:{“应用程序id:”22337”,“身份验证密钥:”UcUiGsRmOZ-Fq-J”,“时间戳:”1446051576”,“nonce:”380128471”,“签名:”7707EEB02B000BGSD5G7F57SGC225DE2358611“}目前我正在使用另一个库anlutro\cURL,guzzle无法提出任何请求。。有什么建议吗?这个问题与Guzzle有关目前我正在为laravel使用另一个curl库,它正在工作,因此我认为与请求使用的数据无关。如果启用调试选项,您发送的请求是,您认为您正在发送的,还是使用v2时正在发送的?