如何在没有页面重新加载的情况下到期后获得新的访问令牌?

Bra*_*yer 5 facebook oauth facebook-graph-api facebook-javascript-sdk

首先,我想要注意,我不想请求offline_access扩展权限.这是有原因的,但事实并非如此.

我正在使用Facebook Javascript API创建一个html5应用程序.用户长时间在单个页面上玩游戏.我使用FB.getLoginStatus在流的开头获得了一个访问令牌,但是这个令牌在某个时刻到期,因此我无法为用户查询Facebook.

我尝试在第一个令牌失败时再次调用FB.getLoginStatus,但这似乎没有给我一个新的访问令牌.

是重新加载页面的唯一方法吗?有点糟糕,因为用户的状态被打乱了.

Jor*_*dan 4

FB.getLoginStatus 将重新验证您的应用程序的用户身份,并为您提供一个新的访问令牌以供使用。您应该能够从response.authResponse.accessToken 获取新令牌。

第一个令牌失败后您是否收到任何特定错误?