我为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
我是否会错过选项数组中的内容?
何
答案 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);