2016-01-21 3 views
0

У меня возникла проблема с моим синтаксисом. У меня есть функция привязки Facebook для текущего анонимного пользователя.Недопустимый токен сеанса синтаксического анализа после входа в систему FB

В файле AppDelegate Я эту функциональность:

if (PFUser.currentUser() == nil) { 
    PFAnonymousUtils.logInInBackground() 
} else if (PFUser.currentUser() != nil && PFFacebookUtils.isLinkedWithUser(PFUser.currentUser()!)) { 
    PFFacebookUtils.logInInBackgroundWithAccessToken(FBSDKAccessToken.currentAccessToken()) 
} 

Но после Facebook входа/связывании текущего пользователя, а в ближайшие несколько запусков приложения, ошибка 209 принимается.

Здесь я прочитал почти все заданные вопросы, но ничто не решает мою проблему.

Когда пользователь нажимает на кнопку входа в Facebook:

if PFFacebookUtils.isLinkedWithUser(PFUser.currentUser()!) { 
     PFFacebookUtils.linkUserInBackground(PFUser.currentUser()!, withReadPermissions: permissions, block: { (success: Bool, error: NSError?) -> Void in 
      if success.boolValue { 
       PFFacebookUtils.linkUserInBackground(PFUser.currentUser()!, withAccessToken: FBSDKAccessToken.currentAccessToken()) 
       self.obtainFacebookProfile() 
      } 
     }) 
    } else { 
     PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: { (user: PFUser?, error: NSError?) -> Void in 
      if error != nil { 
       return 
      } 

      if user != nil { 
       PFFacebookUtils.linkUserInBackground(user!, withAccessToken: FBSDKAccessToken.currentAccessToken()) 
       self.obtainFacebookProfile() 
      } 
     }) 
    } 

Я имею ту же реализацию в моем Android приложения и нет такой проблемы нет ...

ответ

0

Я думаю, что я решил эту проблему, избавиться от входа в Facebook в классе AppDelegate. Поскольку текущий пользователь уже связан с профилем Facebook, нет необходимости делать это снова при запуске приложения, потому что он генерирует новый токен сеанса. Проблема в том, что, возможно, Parse не сможет обновить токен сеанса в базе данных до того, как будет сделан следующий запрос данных.

+0

У меня такая же проблема, и ясно, что синтаксический разбор не обновляет токен в таблице User после того, как токен истек. Не могли бы вы подробнее рассказать о том, как вы это исправили? Я могу получить новый токен FB через FBSDK, но Parse по-прежнему не обновляет запись в таблице User –

Смежные вопросы