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() 至少這是應該的方式。 –