我们真的希望每1-2小时重新加载我们的Facebook App / Game吗?

时间:2011-10-06 21:51:05

标签: facebook facebook-graph-api oauth-2.0 facebook-apps facebook-authentication

新的OAuth 2.0客户端流程提供带有expiresIn时间的访问令牌。通常这是1-2小时。正在玩游戏的用户可能会花很长时间玩,他们也可能会玩一段时间,走开,然后在3-4小时后回来。

从文档中我可以看出,我只是应该处理来自API调用的错误,如果令牌无法工作,请重新加载浏览器。嗯,这对游戏来说并不是那么好,因为这可能发生在关键时刻。

即使我设置了一个计时器并再次调用FB.getLoginStatus(),expiresIn也将保持不变,因此它显然与初始登录时间有关。

游戏是否应该预先制作所有的facebook API调用,然后缓存所有数据?有没有办法刷新access_token而不重新加载网页?

1 个答案:

答案 0 :(得分:2)

我做了一些实验,你可以调用setTimeout()并从原始的getLoginStatus调用中传递expiresIn值。然后,如果再次调用getLoginStatus超时,它将使用新的访问令牌和新的expiresIn时间刷新。冲洗,重复。