我正在使用 gdata sdk 将视频上传到 youtube。今天我正在测试如果我撤销我的应用程序对 youtube 的访问权限会发生什么。在 Google 帐户安全(https://accounts.google.com/b/0/IssuedAuthSubTokens)中撤销访问权限后,我尝试将视频上传到 youtube。奇怪的是,我完成的选择器没有被错误或成功调用。这让我相信,如果我有权上传到 youtube,我应该以某种方式进行更彻底的检查。
问题是我不知道该怎么做。这是我当前检查是否需要登录的代码:
- (BOOL)isSignedIn
{
NSString *clientID = @"CLIENT_ID";
NSString *clientSecret = @"CLIENT_SECRET";
NSString *keychainName= @"KEYCHAIN_NAME";
GTMOAuth2Authentication *auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:keychainName
clientID:clientID
clientSecret:clientSecret];
[[self youTubeService] setAuthorizer:auth];
return auth.canAuthorize;
}
这是在 isSignedIn 返回 NO 时登录的代码:
-(void)performSignIn:(id)arg
{
NSString *scope = [GDataServiceGoogleYouTube authorizationScope];
NSString *clientID = @"CLIENT_ID";
NSString *clientSecret = @"CLIENT_SECRET";
NSString *keychainName= @"KEYCHAIN_NAME";
SEL finishedSel = @selector(viewController:finishedWithAuth:error:);
GTMOAuth2ViewControllerTouch *viewController;
viewController = [GTMOAuth2ViewControllerTouch controllerWithScope:scope
clientID:clientID
clientSecret:clientSecret
keychainItemName:keychainName
delegate:self
finishedSelector:finishedSel];
UINavigationController *aNavController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self presentModalViewController:aNavController animated:YES];
[aNavController release];
}
有没有办法检查我的访问令牌是否仍然有效?