【发布时间】:2012-09-28 17:44:11
【问题描述】:
我想测试 Facebook 用户的访问令牌已过期并且我需要更新令牌的代码路径。我注意到访问令牌在创建 2 个月后过期。我不想等待 2 个月来测试该代码路径,所以我想要一种模拟这种到期的方法。如果我从未针对以下谜题测试这种情况,我担心我的代码会崩溃:
- 目前,在应用程序启动时,我致电
[FBSession openActiveSessionWithReadPermissions:permArray allowLoginUI:NO completionHandler:someFunction]以静默方式重新连接过去已连接的 Facebook 用户。注意 allowLoginUI 是如何的。是否必须为 YES 才能允许用户重新登录并更新令牌,还是可以静默更新令牌? - 每次会话状态更改时都会触发任何 openActiveSession* 调用的完成处理程序。两个值得注意的状态是
FBSessionStateOpen和FBSessionStateOpenTokenExtended。当令牌变为扩展时,状态机是保持令牌扩展状态,还是会进入扩展状态,然后立即进入打开状态?我需要知道状态转换,所以我不会运行我的处理程序两次。 -
[FBSession activeSession].accessToken会变为 nil 还是保留为旧的过期令牌? -
[FBSession activeSession].expirationDate类似:它是 nil,旧的到期日期,还是自动成为新的到期日期?
【问题讨论】:
-
这是一个非常复杂的过程,除非你使用他们的 FBLoginView...绝对是 Facebook 糟糕的 API 设计的标志。