0

我是这个 iPhone 开发的新手。目前我面临验证 YouTube 视频的问题。我正在从 SOL 服务器获取 YouTube URL。我只是想检查该视频是否存在于 YouTube 服务器中。我知道这可以通过 YouTube 视频 ID 进行检查。但我找不到任何示例代码。可以有人建议我更好的方法或提供示例代码?

4

1 回答 1

1

Youtube有数据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。无论如何,主要思想是相同的。

于 2012-05-08T11:27:18.887 回答