调用未定义的方法GuzzleHttp \ Psr7 \ Response :: isSuccessful()

时间:2016-08-24 02:57:34

标签: php response guzzle psr-7

所以我根据TeamUp calendar documentation安装了Guzzle库版本6。但是,当我尝试运行下面的代码时,我得到了

Fatal error: Call to undefined method GuzzleHttp\Psr7\Response::isSuccessful()  

代码:

<?php
include 'vendor/autoload.php';

define('API_KEY','****ww9d5ea2b0540ba1e02c08100b0e5**');

$client = new GuzzleHttp\Client(['headers' => ['Teamup-Token' => API_KEY]]);
$res = $client->get('https://api.teamup.com/ks************/events?startDate=2016-08-21&endDate=2016-08-25');

if ($res->isSuccessful()) {
    echo $res->getBody();
    // {"event":{ ... }}
}

不应该包含在图书馆中吗? 任何人吗?

2 个答案:

答案 0 :(得分:1)

是的,没有方法isSuccessful。 默认情况下,如果服务器返回错误,Guzzle将抛出异常

http://docs.guzzlephp.org/en/latest/quickstart.html

  

针对500级错误抛出GuzzleHttp \ Exception \ ServerException   如果http_errors请求选项设置为true。

     

针对400级错误抛出GuzzleHttp \ Exception \ ClientException   如果http_errors请求选项设置为true。

     

如果出现网络错误(连接超时,DNS错误,   等),抛出GuzzleHttp \ Exception \ RequestException。

无论如何,您可以使用

检查响应的状态代码
$res->getStatusCode();

答案 1 :(得分:0)

upgrade notes from Guzzle 5.0 to Guzzle 6.0 say

  

GuzzleHttp \ Message \ Response :: isSuccessful()和其他相关方法已被删除。改为使用getStatusCode()。