3

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

不知道出了什么问题。 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

我错过了选项数组中的东西吗?

乔斯

4

2 回答 2

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();

只需阅读此处的文档

于 2015-05-16T05:01:35.450 回答
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);
于 2015-05-16T15:26:38.613 回答