我做了很多谷歌搜索,但我找不到任何可理解的ASIHttpRequest和Youtube API教程。我还在Stackoverflow和其他论坛上提出了很多问题,但没有人可以提供帮助。 我尝试从youtube获取最喜欢的视频列表。我已经成功登录并获得了访问权限。我将其设置为具有密钥授权的请求标头,但Youtube始终返回错误:
响应失败并显示消息:错误域= ASIHTTPRequestErrorDomain Code = 3“需要验证”UserInfo = 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并将链接上的accesstoken设置为:https://gdata.youtube.com/feeds/api/users/default/favorites?v=2&access_token=<accesstoken>
时,youtube会抛出错误:
令牌无效 - AuthSub令牌的范围错误
错误401
请帮我解决这个问题。 非常感谢
答案 0 :(得分:1)
坚决不要使用ASIHTTPRequest
使用AFNetworking
。但在这里你不需要任何人。
现在,您的请求需要authentication and authorization
到gdata
才能请求feed
youtube
。
编辑:请参阅gtm-oauth2链接。