我是这个iPhone开发的新手。目前我遇到了验证YouTube视频的问题。我从SOL服务器获取YouTube网址。我只是想检查一下YouTube服务器中是否存在该视频。我发现这可以通过YouTube视频ID进行检查。但我找不到任何示例代码。可以一个建议我更好的方法或给出一个示例代码?
答案 0 :(得分:1)
Youtube有data api
例如,您可以执行以下操作:
1)您有一个格式为http://www.youtube.com/watch?v=uCYTpCYLqbs的视频的完整网址,其ID为uCYTpCYLqbs
2)向http://gdata.youtube.com/feeds/api/videos/<VIDEO ID>?v=2&alt=json
提出请求。在我们的例子中,它是:http://gdata.youtube.com/feeds/api/videos/uCYTpCYLqbs?v=2&alt=json
3)如果视频有效,您将收到一些有用的信息。否则你会收到错误。
代码可以是这样的:
- (BOOL)isValid:(NSURL *)youtubeVideoURL
{
NSString *urlStr = [youtubeVideoURL absoluteString];
// retrieve id param from url (ex http://www.youtube.com/watch?v=uCYTpCYLqbs)
NSString *ID = [urlStr substringFromIndex:[urlStr rangeOfString:@"="].location + 1];
NSString *apiMethodStr = [NSString stringWithFormat:@"http://gdata.youtube.com/feeds/api/videos/%@?v=2&alt=json", ID];
NSString *fetchedProperies = [NSString stringWithContentsOfURL:[NSURL URLWithString:apiMethodStr] encoding:NSUTF8StringEncoding error:nil];
return fetchedProperies != nil;
}
您可以在stringWithContentsOfURL:encoding:error:
中使用错误参数来更准确地处理错误。或者使用NSURLRequest。无论如何,主要想法是一样的。