1
我的应用程序中有一个与Facebook登录相关的小错误。Facebook PHP SDK在第一次刷新时不会检测到用户更改
一旦用户通过本地Facebook网站更改其帐户,并刷新页面(使用facebook.php类)并调用$ facebook-> getUser(),它仍会返回我的用户ID以前的用户,并且只会在第二次刷新时更新。
我检查了我们请求的权限以及我们过去请求的权限,似乎在这里没有“离线访问权限”,因此我从可能原因的列表中删除了它。
这从安全性和使用便利性两方面都很重要。 我已经打过电话destroySession,我也试图通过执行以下操作手动查杀的cookie:
setcookie('fbsr_' . FACEBOOK_APP_ID, '', time()-3600, '/', '.'.$_SERVER['SERVER_NAME']);
有什么能为这种古怪的行为的原因?可能有人请帮助我?
在此先感谢, 奥列格。页面
完整代码:
<?php
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
require_once 'src/facebook.php';
require_once 'config/configFB.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
));
// Get User ID
$fbUserId = $facebook->getUser();
echo $fbUserId;//testing the bug
exit(1);
?>
重要提示:所有我使用,以测试该业务情景的用户添加我的应用程序,所以其实,我应该有自己的访问数据。
是的,您将不得不授权我的应用程序,除非您已经做得很好,这里就是这种情况。 –
因此,只需确认一下,当您在原生Facebook网站上更改帐户时,是否必须授权应用程序? –
如果您已经授权该应用程序,您可以使用$ facebook-> getUser() 至少这是应该的方式。 –