我最近使用他们的API更新了facebook。
我有一个错误说
Laravel FacebookProvider错误。未定义的变量:access_token。
我发现了另一个问题,他们说要这样做:
vendor/laravel/socialite/src/Two/FacebookProvider.php
替换
parse_str($body, $data);
return $access_token;
使用
parse_str($body, $data);
$json = json_decode(key($data));
return $json->access_token;
我做了这些更改后,现在我遇到了这个错误
FacebookProvider.php第67行中的FatalErrorException: 无法访问空房产
这里是链接:https://concoura.com
答案 0 :(得分:0)
永远不要修改供应商文件。相反,通过composer更新您的包。这是在一段时间之前修复的,因为FacebookProvider
发生了很大的变化,并使用了一种完全不同的方法来检索和提供访问代码。
/**
* {@inheritdoc}
*/
public function getAccessTokenResponse($code)
{
$postKey = (version_compare(ClientInterface::VERSION, '6') === 1) ? 'form_params' : 'body';
$response = $this->getHttpClient()->post($this->getTokenUrl(), [
$postKey => $this->getTokenFields($code),
]);
$data = [];
$data = json_decode($response->getBody(), true);
return Arr::add($data, 'expires_in', Arr::pull($data, 'expires'));
}
答案 1 :(得分:0)
我遇到了同样的问题,我用
解决了作曲家需要laravel / socialite:^ 2.0
使用Laravel 5.2和5.3进行测试