Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拉维FACEBOOKPROVIDER_Facebook_Laravel - Fatal编程技术网

拉维FACEBOOKPROVIDER

拉维FACEBOOKPROVIDER,facebook,laravel,Facebook,Laravel,我在facebook最近的API更新中遇到了问题 我犯了一个错误,说 Laravel FacebookProvider错误。未定义变量:访问令牌。 我发现了另一个问题,他们说要这样做: 在供应商/laravel/socialite/src/Two/FacebookProvider.php中 替换 parse_str($body, $data); return $access_token; 与 在我做了这些更改之后,现在我出现了这个错误 FacebookProvider.php第67行中的Fat

我在facebook最近的API更新中遇到了问题

我犯了一个错误,说

Laravel FacebookProvider错误。未定义变量:访问令牌。

我发现了另一个问题,他们说要这样做:

在供应商/laravel/socialite/src/Two/FacebookProvider.php中

替换

parse_str($body, $data);
return $access_token;

在我做了这些更改之后,现在我出现了这个错误

FacebookProvider.php第67行中的FatalErrorException: 无法访问空属性


这里有一个链接:

永远不要修改供应商文件。相反,通过composer更新您的包。这在一段时间前就得到了修复,因为
facebook提供者
已经发生了很大的变化,它使用了一种完全不同的方法来检索和提供访问代码

 /**
 * {@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'));
}

我也有同样的问题,我解决了

作曲者需要拉威尔/社交名流:^2.0


使用Laravel 5.2和5.3进行测试

链接的含义是什么:它是垃圾邮件还是理解问题所需的信息?它是网站的url,错误是如何仅升级此部分?
 /**
 * {@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'));
}