我有一个问题,可能有一个如此简单的解决方案,我无法看到它。
我将Google Plus iOS SDK安装到我的应用程序中,让我的应用程序与Google一起运行非常好。
但是,一小时后,令牌即将到期,我找不到续订的方法。
- (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+登录时,我最初会调用此方法。一小时后,当令牌即将到期时,我再次调用此方法,但我收到相同的令牌,即将过期。
有人可以帮我吗?我在谷歌上搜索过强烈,但找不到解决方案。 SDK文档没有说明更新,这很奇怪。令牌会自动刷新吗?
请帮忙, 感谢。
答案 0 :(得分:3)
您获得的对象是GTMOAuth2Authentication
。如果在常规Google服务请求中使用,则应根据需要自动刷新。但是,如果您需要强制刷新,则可以请求nil请求的授权:
[auth authorizeRequest:nil
delegate:self
didFinishSelector:@selector(authentication:request:finishedWithError:)];
或使用块
[auth authorizeRequest:nil
completionHandler:^(NSError *error) { //...
}];