新的OAuth 2.0客户端流提供了一个带有expiresIn时间的访问令牌。通常这需要1-2个小时。玩游戏的用户可能会花那么长时间玩游戏,他们也可能玩一段时间,然后离开,然后3-4个小时后再回来。
从文档中我可以看出,我只需要处理来自API调用的错误,如果令牌无法工作,则重新加载浏览器。好吧,这对游戏来说并不是那么好,因为这可能会在关键时刻发生。
即使我设置了一个计时器并再次调用FB.getLoginStatus(),expiresIn仍将保持不变,因此它显然是相对于初始登录时间的。
游戏是否应该预先进行所有的facebook API调用,然后缓存所有的数据?有没有办法在不重新加载网页的情况下刷新access_token?
发布于 2011-10-14 15:47:30
我做了一些实验,您可以只调用setTimeout()并传递来自原始getLoginStatus调用的expiresIn值。然后,如果您再次调用getLoginStatus,当它超时时,它将被刷新为新的访问令牌和新的expiresIn时间。冲洗,重复。
https://stackoverflow.com/questions/7680898
复制相似问题