Facebook Javascript API“;此授权码已被使用;快速屏幕刷新时(F5或命令+;R)

Facebook Javascript API“;此授权码已被使用;快速屏幕刷新时(F5或命令+;R),facebook,facebook-javascript-sdk,facebook-php-sdk,facebook-access-token,Facebook,Facebook Javascript Sdk,Facebook Php Sdk,Facebook Access Token,我正在使用Facebook Javascript API登录,并在我的服务器上与官方Facebook PHP SDK一起执行以下两行代码: $helper = $fb->getJavaScriptHelper(); $accessToken = $helper->getAccessToken(); 有了令牌,我可以进一步执行以下代码,从而获得服务器上所需的必要详细信息: $fb->setDefaultAccessToken($accessToken); $response =

我正在使用Facebook Javascript API登录,并在我的服务器上与官方Facebook PHP SDK一起执行以下两行代码:

$helper = $fb->getJavaScriptHelper();
$accessToken = $helper->getAccessToken();
有了令牌,我可以进一步执行以下代码,从而获得服务器上所需的必要详细信息:

$fb->setDefaultAccessToken($accessToken);
$response = $fb->get('/me?locale=en_US&fields=name,first_name,last_name,email,gender');
如果我刷新我正在使用的网页,让它完全加载,一切正常工作,我可以打印到屏幕上,以显示我在$response中得到的所有详细信息

然而,我遇到的问题是,如果我在Facebook javascript代码执行之前快速刷新屏幕(在Windows机器上点击F5或在Mac电脑上点击COMMAND+R),我会从Facebook API中得到以下抛出错误:

“此授权代码已被使用”

我如何避免这种情况?我是否将客户端的Facebook代码包装在jQuery文档就绪函数中?我不太愿意这样做,因为有人告诉我,Facebook的Javascript代码可以作为一个独立的脚本使用,它足够智能,可以知道文档何时加载


我准备认输,编写一个完全绕过Facebook Javascript API的手动登录过程。谢谢您的帮助。

将访问代码放入$\u会话['access\u token'],然后重定向到另一个页面以获取数据

  • 登录页面
  • 回调页面(保存到会话变量中)
  • 工作页面(使用会话变量)
  • 请参阅更多: