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