GuzzleHttp \ Client :: request()必须是数组类型,给定布尔值

时间:2016-05-04 05:33:44

标签: php laravel-4 guzzle

好的,我使用了“guzzlehttp / guzzle”:“〜6.0”用于laravel。

它适用于服务器,但它不适用于我的XAMPP,我不知道是什么问题。这是错误代码。

传递给GuzzleHttp \ Client :: request()的参数3必须是类型数组,给定布尔值

这是代码:

$param_data = array(
    'api_user'  => Config::get('sendgrid.api_user'),
    'api_key'   => Config::get('sendgrid.api_key'),
    'list'      => Config::get('sendgrid.list'),
    'email'     => 'xxxxxxx@yahoo.com',
);

$client = new Client();
$client->setDefaultOption('verify', false);
$res    = $client->request(
    'GET',
    'https://api.sendgrid.com/api/newsletter/lists/email/get.json',
    [
    'query' => $param_data
    ]
);

$arr_res = json_decode($res->getBody());
print_r( $arr_res );

1 个答案:

答案 0 :(得分:1)

同样的错误我在我的代码中解决了这个问题

 $param_data = array(
        'api_user'  => Config::get('sendgrid.api_user'),
        'api_key'   => Config::get('sendgrid.api_key'),
        'list'      => Config::get('sendgrid.list'),
        'email'     => 'xxxxxxx@yahoo.com',
    );

    $client = new Client();
    $client->setDefaultOption('verify', false);
    $res    = $client->request(
               array(
                      'GET', 
                      'https://api.sendgrid.com/api/newsletter/lists/email/get.json?query='.$param_data,
                   ));

    $arr_res = json_decode($res->getBody());
    print_r( $arr_res );

此外,如果您在同一页面中使用Laravel请求和Guzzle请求,则需要使用它。

use Illuminate\Http\Request;
use GuzzleHttp\Psr7\Request as GuzzleRequest;

试试这个希望这对你有用:)