2011-01-29 129 views

回答

1

您要求offline_access吗?如果不是,令牌将过期,但查询令牌应返回到期日期。在打电话之前,您可以在您身边查看。

验证用户没有删除权限或验证offline_access我相信需要击中Facebook服务器。如果失败,我只会尝试发布并处理错误。这可能更有可能不是令牌有效。

通过在每次通话之前进行检查,您将面临重大处罚(双倍工作)以处理不经常发生的情况。如果访问令牌无效,您仍然必须提示他们,所以我只处理错误并在提示之后提示。

此外,您仍然必须处理错误,因为存在竞争条件。您可以检查access_token,但在检查和发布之间的时间内,令牌可能会失效。

+0

感谢您的回答。问题在于,当facebook API过期或有人撤销权利时,Facebook API会引发未处理的异常(不在我的框架下 - 因此我无法尝试/捕获它)。所以我是SOL ...因此,过期只是勉强。我是一个SOL。 – 2011-01-29 08:49:49

0

根据我的经验(使用4.2),您需要在try ... catch(一个OAuthException可能触发)中包装您的请求。我正在谈论您可以离线访问的场景。 (如果您有离线访问权限,并且用户在Facebook内移除应用程序,则即使用户通过其他机制重新启用应用程序,您的离线令牌也将过期。