2015-10-28 31 views
0

我正在使用「guzzlehttp/guzzle」:「^ 6.1」和Laravel 4.2 我試圖對quickblox進行一次post調用,但是返回了422錯誤。這是我在控制器代碼:當使用Guzzle時出現Quickblox API錯誤6

$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)

Client error: 422

回答

0

的422 HTTP狀態碼 - 無法處理的實體。

看起來像quickblox API拒絕你的電話,因爲你要麼發送錯誤的標題或正文。

嘗試更改'json' => $jsonBody'body' => $jsonBody並確保$jsonBody是JSON編碼的字符串。

+0

什麼都不會在'body'中追加更改'json'這就是我在$ jsonBody裏面的內容: {「application_id」:「22337」,「auth_key」:「UcUiGsRmOZ-Fq-J」,「timestamp」:「1446051576 「,」nonce「:」380128471「,」簽名「:」7707eeb02b00bgsd5g7f57sgc225de2358611「} – mds

+0

如果我從郵遞員發送$ jsonBody數據,它的工作原理。 – mds

+0

目前我正在使用另一個圖書館,anlutro \ cURL,與guzzle我不能提出任何請求..任何建議? – mds

0

據對errors你的422錯誤Quickblox文檔,據對authentication的Quickblox文檔所提供的服務必須是+/-10分鐘NTP的時間戳時發生

User with login that has already been taken

+0

該問題與Guzzle有關當前我正在使用另一個捲曲庫laravel,它的工作,所以我認爲不是與用於請求的數據相關的問題.. – mds

+0

如果啓用調試選項,是請求你正在發送,你相信你正在發送什麼,或者在使用v2時發送了什麼? –

相關問題