如何验证YouTube视频以检查网址中是否存在视频?

时间:2012-05-08 06:05:32

标签: iphone validation youtube xcode4.3

我是这个iPhone开发的新手。目前我遇到了验证YouTube视频的问题。我从SOL服务器获取YouTube网址。我只是想检查一下YouTube服务器中是否存在该视频。我发现这可以通过YouTube视频ID进行检查。但我找不到任何示例代码。可以一个建议我更好的方法或给出一个示例代码?

1 个答案:

答案 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。无论如何,主要想法是一样的。