ios - 检查 gdata 访问 token 的有效性

标签 ios youtube-api gdata gdata-api

我正在使用 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];

}

有办法检查我的访问 token 是否仍然有效吗?

最佳答案

一般来说,您可以通过调用 https://www.google.com/accounts/AuthSubTokenInfo?bearer_token=OAUTH_2_TOKEN 来检查 Google 颁发的 OAuth 2 访问 token 是否有效。返回 HTTP 200 或 40x 响应。

更有意义的是进行“廉价”的经过身份验证的 YouTube API 调用,例如 https://gdata.youtube.com/feeds/api/users/default?v=2,并查看是否返回有效响应或错误。

关于ios - 检查 gdata 访问 token 的有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15993308/

相关文章:

android - 如何在点击图片后播放 youtube 视频?

java - Gwt-gdata认证

ios - 找到了 apple-app-site-association 文件,但它不符合要求的格式

iphone - 设置中的推送通知标志

rest - 有没有办法获取 YouTube 实时分析 API 数据?

javascript - 如何防止用户在嵌入的 YouTube 视频中快进/擦洗/跳过?

php - 将视频从网站后端上传到YouTube

android - AS3 : Drawing Lines With Touch Screens

ios - swift : Making a get request to Get source code