2015-04-18 2 views
0

У меня есть проблема, которая может иметь столь простое решение, что я не могу ее увидеть.Google Plus iOS SDK не обновляет токен с истекшим сроком действия

Я установил SDK Google Plus iOS в свое приложение и получил приложение, которое работает с Google очень красиво.

Google Plus iOS SDK

НО, после того, как один час, маркер истекает, и я не найти способ обновить его.

- (void)renewGoogleToken { 
    GPPSignIn *gppSignIn      = [GPPSignIn sharedInstance]; 
    gppSignIn.shouldFetchGooglePlusUser   = YES; 
    gppSignIn.shouldFetchGoogleUserEmail  = YES; 
    gppSignIn.clientID       = [DSUtils getGoogleClientID]; 
    gppSignIn.scopes       = @[@"https://www.googleapis.com/auth/plus.login", 
               @"https://www.googleapis.com/auth/calendar"]; 
    gppSignIn.delegate       = self; 

    BOOL success        = [gppSignIn trySilentAuthentication]; } 

Я изначально называю этот метод, когда хочу войти в Google+. Через час, когда токен близок к истечению, я снова вызываю этот метод, но получаю тот же токен, срок действия которого истекает.

Кто-нибудь может мне помочь? Я интенсивно искал google и не мог найти решение. SDK Docs ничего не говорит о обновлении, что странно. Является ли токен обновлен автоматически?

Пожалуйста, помогите, Спасибо.

ответ

3

Объект, который вы возвращаете, - GTMOAuth2Authentication. Если он используется в обычном запросе службы Google, он должен автоматически обновляться автоматически, если это необходимо. Тем не менее, если вам необходимо, чтобы обновление вы можете запросить разрешение на нильпоток запроса:

[auth authorizeRequest:nil 
      delegate:self  
didFinishSelector:@selector(authentication:request:finishedWithError:)]; 

Или с блоками

[auth authorizeRequest:nil 
completionHandler:^(NSError *error) { //... 
}]; 
+0

Благодаря Ian. Сегодня я заметил, что теперь, если я вызываю trySilentAuthentication, он генерирует новый токен. Я на 100% уверен, что это не сработало несколько дней назад. Вы знаете, о такой проблеме, о которой сообщают в эти дни в Google? Похоже, он только начал работать, я уверен, что не делал ничего, кроме дней назад. –

+0

Может быть, проблема с серверами auth - я не знаю об этом конкретно, но они случаются! –

+0

Я не принял ответа, потому что он не работает. Я получаю новый токен, если я завершаю приложение и перезапускаю с помощью trySilentAuthentication. Но это также иногда случается. Однако я не могу просить пользователя прекратить действие приложения каждый час. Это сумасшествие. Никто в google не знает об этой проблеме? –

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