0

我做了很多谷歌搜索,但我找不到任何可以理解的 ASIHttpRequest 和 Youtube API 教程。我还在 Stackoverflow 和其他论坛上问了很多问题,但没有人能提供帮助。我尝试从 youtube 获取最喜欢的视频列表。我已成功登录并获得了访问令牌。我使用密钥授权将其设置为请求标头,但 Youtube 总是返回错误:

响应失败并显示消息:错误域 = ASIHTTPRequestErrorDomain 代码 = 3“需要身份验证”用户信息 = 0x933b980 {NSLocalizedDescription = 需要身份验证}

这是我的代码:

#define CONNECTION_GET_FAVORITE_LIST @"https://gdata.youtube.com/feeds/api/users/default/favorites"

- (void) getFavoriteList{


  NSURL *url = [NSURL URLWithString:CONNECTION_GET_FAVORITE_LIST];
    ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
    [request addRequestHeader:@"Authorization" value:[@" Bearer "  stringByAppendingString:<accesstoken goes here>];
    request 
    [request startAsynchronous];
    [request setCompletionBlock:^{
        NSString* respondMessage = [request responseString];
        NSLog(@"Respond complete with message: %@",respondMessage);
    }];
    [request setFailedBlock:^{
        NSString* respondMessage = [request error];
        NSLog(@"Respond failed with message: %@",respondMessage);
    }];
    [request release];
}

更新:当我尝试使用方法 GET 并将链接上的访问令牌设置为:https://gdata.youtube.com/feeds/api/users/default/favorites?v=2&access_token=<accesstoken>时,youtube 会抛出错误:

令牌无效 - AuthSub 令牌的范围错误

错误 401

请帮我解决这个问题。非常感谢

4

1 回答 1

1

首先不要使用ASIHTTPRequestuse AFNetworking。但在这里你不需要任何人。

现在您的请求authentication and authorization需要gdata请求feed进入youtube

编辑:参考gtm-oauth2链接。

请参阅GData Youtube API 文档链接。

于 2012-12-27T04:17:32.963 回答