Facebook API 4.0:如何避免“此授权代码已过期”?

时间:2014-08-13 22:04:55

标签: facebook oauth oauth-2.0 facebook-javascript-sdk facebook-php-sdk

在我的网站上,我使用facebook javascript SDK初始化并登录用户,稍后当用户回复调查并在网站上提交后,我使用facebook PHP SDK在服务器端获取facebook用户。这很好用,除了用户连接到我的应用程序然后让页面打开一段时间,然后回来并尝试提交调查的情况。如果用户等待的时间足够长,我会在PHP服务器端得到“此授权代码已过期”错误,我不知道如何解决这个问题。

有没有办法通过javascript SDK刷新授权代码?我假设它是在FB.init上生成的。最好的办法是,如果我可以在提交之前进行检查以查看授权代码是否仍然有效,那么如果不是,我会刷新它并触发提交事件。

1 个答案:

答案 0 :(得分:1)

解决此问题的一种方法可能是在服务器调用之前使用JavaScript的FB.getLoginStatus - 它会刷新访问令牌,您可以在响应中获取它:

https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus