5

有人看到这个吗?
我有一种情况,有时 [session resume] 返回 YES。我进行了 FBRequest.call,然后调用了错误委托。错误有 102“会话密钥无效或不再有效”。但是,如果在同一个会话中我调用任何 FBDialogs(例如发布到流),这些都可以正常工作。我不明白为什么他们没有遭受同样的错误。

有任何想法吗?

是的。我知道有一个 facebook connect 论坛,但它需要很长时间才能将我的密码发送给我。(是的......那里有一个讽刺意味 - 他们为什么不只是在他们的论坛中使用 facebook 连接......呵呵)。

4

1 回答 1

1
- (BOOL)resume {
  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  FBUID uid = [[defaults objectForKey:@"FBUserId"] longLongValue];
  if (uid) {
    NSDate* expirationDate = [defaults objectForKey:@"FBSessionExpires"];
    if (!expirationDate || [expirationDate timeIntervalSinceNow] > 0) {
      _uid = uid;
      _sessionKey = [[defaults stringForKey:@"FBSessionKey"] copy];
      _sessionSecret = [[defaults stringForKey:@"FBSessionSecret"] copy];
      _expirationDate = [expirationDate retain];

      for (id<FBSessionDelegate> delegate in _delegates) {
        [delegate session:self didLogin:_uid];
      }
      return YES;
    }
  }
  return NO;
}

这是该方法的代码,我不认为该代码试图与 facebook 建立连接进行测试,他们只是得到了到期日期。我认为有时,当您注销 facebook 时,会话不会过期,但在服务器端,他们会删除您的会话

于 2010-04-15T05:04:05.327 回答