[Flutter] youtube_api で Youtube DATA API を操作

概要

Flutter で Youtube API を利用したい。

youtube_api ライブラリを利用して YouTube で動画、再生リスト、チャンネルを検索を行う。

環境

  • Flutter 2.10.2
  • iPhone SE (2nd generation) シミュレータ
  • youtube_api: ^1.0.4

設計

Youtube API

Youtubu 情報を取得でするための API 。今回は Youtube Data API を利用する。

  • Youtube Data API
  • Youtube Analytics API
  • Youtube Reporting API
  • Youtube Player API

Youtube DATA API

YouTube Data API の概要  |  Google for Developers

YouTube が提供しているAPIで、動画やチャンネル、再生リストに関わる情報を取得できる。

取得できる情報は簡単に示すと下記。

  • activity : ユーザが Youtube で行った操作
  • channel : チャンネル情報
  • channelBanner : チャンネルバナー画像の情報
  • guideCategory : チャンネルに関連付けるカテゴリ
  • playlist : 再生リスト
  • playlistItem : 再生リストを構成する動画情報
  • search result : 検索パラメータに一致する動画情報
  • subscription : 登録ユーザへの通知情報
  • thumbnail : リソースに関連づいたサムネイル
  • video : 動画情報
  • videoCategory : 動画の関連カテゴリ

チュートリアル

Youtube API 有効化・API アクセスキー取得

API ライブラリ より、「Youtube Data API v3」を選択後に、「有効にする」をクリック。

これで「Youtube Data API v3」を利用できるようになる。

この API にアクセスするための認証情報( API アクセスキー)を作成する。

API を選択で「YouTube Data API v3」を選択。

API アクセスキーが取得できた。

Flutter プロジェクト作成

Flutter プロジェクト作成。

flutter create test_youtube_api
cd test_youtube_api

ライブラリ追加。

flutter pub add youtube_api

lib/main.dart は公式 Example の「YOUR_API_KEY」の部分を、上で取得した API アクセスキーに修正しただえk。

内容としては「Flutter GraphQL」を Search API で検索した結果を表示するもの。

youtube_api example | Flutter package
YouTubeAPI is a plugin which directly interacts with YouTube server. Supports Searching video and playlist.

特定のビデオ、プレイリスト、チャンネルなどを検索したい場合、Type を指定する。

  • Type : “channel”
  • Type : “video”
  • Type : “playlist”
int max = 25;
String type = "channel";
YoutubeAPI ytApi = new YoutubeAPI(key, maxResults: max, Type: type);

起動

起動。

flutter run

以下のように一覧画面が表示されればOK。

まとめ

youtube_api パッケージを利用して Youtube の動画を検索しました。

しかし、search result しか機能がない。自分で API を叩くことになりそう。

参考

youtube_api | Flutter package
YouTubeAPI is a plugin which directly interacts with YouTube server. Supports Searching video and playlist.
【Flutter】Youtube APIを用いて動画情報を検索するFlutter PackageにPR送ってみた - Qiita
概要目的開発中のアプリ内で、YouTubeの特定のチャンネルの動画を検索したい。やったことFlutterでyoutube動画の情報を取得するFlutter Packageを用いてみるできな…

送った PR は Open のままだった。がんばってほしい。

コメント

タイトルとURLをコピーしました