Laravel FacebookProvider错误。未定义的变量:access_token

时间:2017-03-27 19:38:16

标签: php facebook facebook-graph-api laravel-5

我的项目中的facebook提供程序存在奇怪的问题(Laravel 5.2);

Undefined variable: access_token vendor/laravel/socialite/src/Two/FacebookProvider.php 80

这很奇怪,因为它工作很长时间,现在我有错误。 我的代码没有任何改变。

2 个答案:

答案 0 :(得分:7)

我做了一个补丁,它对我有用。在 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;

答案 1 :(得分:0)

这可能是由v2.2 Graph API的折旧引起的。

在Facebook上查看changelog

在v2.3 Graph API中,Oauth Access Token调用现在返回一个有编码的URL的有效JSON消息。

此回复的新格式为{“access_token”:{TOKEN},“token_type”:{TYPE},“expires_in”:{TIME}}。