web-dev-qa-db-ja.com

iOSアプリでYouTubeAPIを使用するにはどうすればよいですか?

私はチュートリアルと手順をウェブで検索しましたが、これについては何も見つかりませんでした...だから、ここの誰かが私を正しい方向に向けるか、いくつかの良いチュートリアルをリンクしてくれることを望んでいました。 (ちなみに、ユーザーがビデオを検索して視聴するよりも、基本的なYouTubeクライアントアプリを作成したいと思っています...それほど凝ったことはありません)。

前もって感謝します!

13
Balázs Vincze

おやおや.... JSONファイルを解析し、ひどく文書化されたAPIに我慢する世界へようこそ:)

さて、私は数ヶ月前にこれを調べていました、そして私はそれをうまく動かすことができました。これがあなたがしなければならないことです:

ステップ1-OAuth 2.0統合

アプリでは、ユーザーがYouTubeにログインして、動画にコメントしたり、いいねしたり、その他の動画を投稿したりできますか?その場合、ユーザーがこれらの種類のことを行う前に、まずアプリを介してYouTubeAPIにログインするようにユーザーに依頼する必要があります。これを行うには、アプリがOAuth2.0を使用してYouTubeAPIと通信する必要があります。 OAuth2.0を介してYouTubeAPIで認証するために使用できる優れたライブラリは次のとおりです。 https://github.com/BHughes3388/BAHYouTubeOAuth

ステップ2-キーチェーン-アクセストークンストレージ

OAuth認証を初めて使用する場合、最初は気が遠くなるかもしれませんが、一度試して慣れると、操作が非常に簡単であることがわかります。

つまり、全体として、アプリはAPI(この場合はYouTube V3 API)に接続し、ウェブページをリクエストします。このWebページでは、ユーザーがAPiにログインして、アプリへのアクセスを許可できます。これが完了すると、APIはアプリに「アクセストークン」を送信します。このトークンは、すべて(またはほとんど)のAPIリクエストで使用する必要があります(リクエストのタイプによって異なります)。

「アクセストークン」を取得したら、安全に保管する必要があります。基本的にはパスワードなので、安全に保管する必要があります。 notは、一部の人が行うこと、つまりNSUserDefaultsを使用することを実行しますが、これはまったく安全ではありません。代わりに、キーチェーンを使用する必要があります。これは、パスワードなどの安全な文字列を保存するために簡単に使用できるAppleの安全な暗号化/ストレージライブラリです。

キーチェーンを使用して、必要なときに「アクセストークン」を安全に保存および取得するには、このSO投稿をご覧ください。 キーチェーンを使用してGenericKeychainのようなパスワードを保存する方法サンプルコード

ステップ3-YouTube API V3https://developers.google.com/youtube/v3/

今のところ、難しいビットです。 Google YouTube API V3を読み、APIリファレンスドキュメントを調べて、探しているデータを返す特定のURLを見つける必要があります。例:ユーザーのホームフィードまたは簡単な検索から動画のリストを取得する場合は、次のAPIリファレンスページをご覧ください: https://developers.google.com/youtube/v3/docs/videos/list

ステップ4-ビデオURLを抽出します

このステップについてさらに説明する前に、Googleは、アプリにビデオビューを埋め込むだけのYouTubeHTMLコードを使用して単純なWebビューでビデオを表示する必要があると言っていることを述べておきます。しかし、私の意見(および他の多くの開発者)では、これは見た目も動作もひどいものです。

したがって、ネイティブMPMovieplayerControllerを介してアプリにYouTubeビデオを表示する場合は、これを行う前に、最初にビデオURLを抽出する必要があります。

動画のセットをYouTubeAPIにリクエストすると、JSONファイルが返されます。このファイルには、動画のリスト(videoID、タイトル、日付など)が含まれています。

ビデオIDのJSONファイルを解析する必要があります。あなたまたはアプリユーザーが必要な動画を選択したら、を使用して、その特定の動画の動画IDを「YouTube動画リンクエクストラクタ」ライブラリに渡す必要があります。このライブラリは、そのビデオのビデオファイルリンクのセットを返します。これらのリンクをMPMovieplayerControllerと組み合わせて使用​​すると、ビデオをネイティブに表示できます。

これが素晴らしいYouTubeビデオファイルのURL抽出ツールです- https://github.com/runmad/RMYouTubeExtractor

幸運を :)

16
user4657588