Facebook подключается к iPhone - при совершении звонков выдается ошибка 102 «Ключ сеанса недействителен или больше не действителен», однако диалоговые окна потоков все еще работают - PullRequest
5 голосов
/ 23 февраля 2010

Кто-нибудь видел это?
У меня есть ситуация, когда иногда [возобновление сеанса] возвращает ДА. Я делаю FBRequest.call, и делегат ошибки вызывается. Ошибка имеет 102 «Ключ сессии недействителен или больше не действителен». Тем не менее, если в течение одного сеанса я вызываю любые FBDialogs (например, для публикации в потоке), все они работают нормально. Я не понимаю, почему они не страдают от одной и той же ошибки.

Есть идеи?

Да. Я знаю, что есть форум для подключения к Facebook, но мне нужно время, чтобы отправить мне мой пароль. (Да ... там ирония - почему они просто не использовали Facebook Connect для своих форумов ... хо-хам).

1 Ответ

1 голос
/ 15 апреля 2010
- (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, сеанс не истекает, но на стороне сервера, они удаляют ваш сеанс

...