Laravel 5.0社交名流与奇妙清单

时间:2015-05-15 21:24:49

标签: php laravel laravel-5 wunderlist

我为Laravel Socialite创建了一个自定义提供程序。 身份验证部分进展顺利,直到我尝试调用用户方法。

不确定出了什么问题。 Method documentation at wunderlist

我的代码:

/**
 * {@inheritdoc}
 */
protected function getUserByToken($token)
{
    $response = $this->getHttpClient()->get('https://a.wunderlist.com/api/v1/users', [
        'X-Access-Token: ' . $token . ' X-Client-ID: ' . $this->clientId
    ]);

    return json_decode($response->getBody(), true);
}

我收到以下错误:

InvalidArgumentException in MessageFactory.php line 202:
allow_redirects must be true, false, or array

我是否会错过选项数组中的内容?

2 个答案:

答案 0 :(得分:0)

实际上,社交名流不应该做这样的事情。但相反,你可以使用Guzzle。在laracasts有一个很好的视频。只需搜索Easy HTTP Requests即可。这是你可能用于guzzle的代码:

$client = new \Guzzle\Service\Client('a.wunderlist.com/api/v1/');
$response = $client->get('user')->send();
// If you want this response in array:
$user = $response->json();

这里只需read the docs

答案 1 :(得分:0)

使用直线卷曲时,没有问题。 据我所知,问题在于我将解析的标题。

以下解决方案是我可以忍受的,虽然它并不完美。

$headers = array();
$headers[] = 'X-Access-Token: ' . $token;
$headers[] = 'X-Client-ID: ' . $this->clientId;
$response = $this->getHttpClient()->get('a.wunderlist.com/api/v1/user', [
        'config' => [
            'curl' => [
                CURLOPT_POST => 0,
                CURLOPT_HTTPHEADER => $headers,
                CURLOPT_RETURNTRANSFER => 1,
                CURLOPT_SSL_VERIFYPEER => false
            ]
        ]
    ]);
    return json_decode($response->getBody(), true);