Facebook iOS SDK 3.1.1:如何检查过期令牌?

时间:2012-12-11 11:10:28

标签: ios facebook session sdk token

如何通过iOS SDK检查访问令牌是否已过期?

当我的应用开始从缓存中加载会话时,我会调用[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:NO completionHandler:nil]

活动会话看起来像这样:

<FBSession: 0x1fdcbae0,
state: FBSessionStateOpen,
loginHandler: 0x0,
appID: 1234567890,
urlSchemeSuffix: ,
tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x1fdcb840>, 
expirationDate: 4001-01-01 00:00:00 +0000,
refreshDate: 2012-12-10 07:09:18 +0000,
attemptedRefreshDate: 0001-12-30 00:00:00 +0000,
permissions:(
    email
)

FBSession.activeSession.isOpen始终返回YES。为什么expirationDate在遥远的未来?

在我的服务器上,我通过PHP调用一个方法,我被告知会话已过期。我该怎么处理?

1 个答案:

答案 0 :(得分:0)

检查过期令牌的最佳方法是实际尝试API调用并处理错误。例如,在打开调用之后,您可以在完成处理程序中调用startForMeWithCompletionHandler:在startForMeWithCompletionHandler:completion处理程序中,您可以检查错误。

有关如何处理可能出现的错误的详细信息,请参阅此文档: https://developers.facebook.com/docs/reference/api/errors/