0

私はこの iPhone 開発に不慣れです。現在、YouTube ビデオを検証する際に問題に直面しています。SOL サーバーから YouTube の URL を取得しています。その動画が YouTube サーバーに存在するかどうかを確認したいだけです。これは、YouTube 動画 ID で確認できることを知りました。しかし、サンプル コードが見つかりませんでした。より良い方法を提案するか、サンプルコードを教えてください。

4

1 に答える 1

1

YoutubeにはデータAPIがあります

たとえば、次のようなことができます。

1) http://www.youtube.com/watch?v=uCYTpCYLqbsの形式の動画への完全な URL があります。その 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;
}

error param inを使用しstringWithContentsOfURL:encoding:error:て、エラーをより正確に処理できます。または、NSURLRequest を使用します。とにかく、主なアイデアは同じです。

于 2012-05-08T11:27:18.887 に答える