2013-02-22 2 views
3

Я разрабатываю продукт для iPhone и Android для пользователей Facebook. Поскольку разрешения «offline_access» были удалены из API графиков Google, а время жизни токена доступа может увеличиться до 60 дней, я хочу знать, есть ли способ обновить токен доступа автоматически. У кого-то есть хорошая идея?Как обновить токен доступа Facebook автоматически в приложении для iPhone и приложении для Android?

ответ

1

Вам не нужно заботиться о обновить маркер, facebook SDK будет позаботиться о том, автоматически

+0

Спасибо! Но будет ли он работать на обеих платформах? Поскольку мое приложение содержит некоторые пользовательские данные, я беспокоюсь, если он требует авторизации пользователя снова, может потребоваться много времени, чтобы повторно импортировать эти данные. – Chada

+0

Я не знаю abt Iphone, но в android это –

+0

Ну, после того, как SDK Facebook получит токен, приложение сможет записать его и отправить обратно на сервер, чтобы сервер мог использовать новый токен для обновления данных пользователя? – Chada

1

В ИОС можно продлить лексем, используя следующие методы:

- (void)extendAccessToken { 
    if (_isExtendingAccessToken) { 
     return; 
    } 
    _isExtendingAccessToken = YES; 
    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"auth.extendSSOAccessToken", @"method", nil]; 
    [self requestWithParams:params andDelegate:self]; 
} 

//+ * Calls extendAccessToken if shouldExtendAccessToken returns YES. 

- (void)extendAccessTokenIfNeeded { 



    if ([self shouldExtendAccessToken]) { 
     [self extendAccessToken]; 
    } 
} 

// Returns YES if the last time a new token was obtained was over 24 hours ago. 

- (BOOL)shouldExtendAccessToken { 
     if ([self isSessionValid]){ 
     NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
     NSDateComponents *components = [calendar components:NSHourCalendarUnit fromDate:_lastAccessTokenUpdatetoDate:[NSDate date]options:0]; 

     if (components.hour >= kTokenExtendThreshold) { 
      return YES; 
     } 
    } 
    return NO; 
} 

, как указано в этом Link

+0

Спасибо за метод? Таким образом, приложение может обновить токен доступа, и оно никогда не истекло? BTW, не вижу ссылку. :) – Chada

+0

k проверить, что ссылка теперь отображается – Warewolf

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