facebook getLogoutUrl返回一个access_token = 0的URL,点击后重定向到Facebook用户的主页

Oba*_*bay 5 php facebook facebook-graph-api facebook-php-sdk

我正在将Facebook与我的网站集成,并且我添加了一个Logout按钮,其URL取自:

$facebook->getLogoutUrl(array('next' => 'http://mydomain.com/logout.php'));
Run Code Online (Sandbox Code Playgroud)

问题是logout.php永远不会被调用.相反,单击"注销"按钮,它将重定向到登录用户的Facebook主页.它不会将用户从Facebook注销,也不会调用我的nextURL.

我注意到生成的URL getLogoutURL()看起来像:

https://www.facebook.com/logout.php?next=http://mydomain.com/logout.php&access_token=0
Run Code Online (Sandbox Code Playgroud)

请注意,access_token = 0.该值不应为零吗?这是我能想到的唯一可能导致问题的因素.

我已经将我的FB应用程序的站点URL设置为http://mydomain.com.在本地测试时,我也编辑了我的hosts文件.我也google了很多,我还没有找到解决方案.唯一有效的是onclick使用我的注销按钮添加FB.logout().但我需要使用PHP.

关于注销URL无法正常工作的任何想法?

Oba*_*bay 5

好的,我已经通过创建自己的注销URL并添加访问令牌来解决这个问题

$logoutUrl = 'https://www.facebook.com/logout.php?next=http://mydomain.com/logout.php&access_token=' . $facebook->getAccessToken();
Run Code Online (Sandbox Code Playgroud)