概要
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
![](https://www.gstatic.cn/devrel-devsite/prod/v50a9748f336f0601961fb23638b43fbbc8f87f50f5f0aa83e2751247a72fbd3b/developers/images/opengraph/youtube-theme.png)
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」を利用できるようになる。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/0cbd2ec2-スクリーンショット-2022-03-05-11.55.23-1024x530.png)
この API にアクセスするための認証情報( API アクセスキー)を作成する。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/3eee9c62-スクリーンショット-2022-03-05-12.08.50-1024x170.png)
API を選択で「YouTube Data API v3」を選択。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/1ab7906a-スクリーンショット-2022-03-05-12.10.14-1024x928.png)
API アクセスキーが取得できた。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/5c5fbcad-スクリーンショット-2022-03-05-12.19.47-1024x372.png)
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 で検索した結果を表示するもの。
![](https://runble1.com/wp-content/uploads/cocoon-resources/blog-card-cache/793a847a255504e33e3e8cceaec35c85.png)
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。
![](https://storage.googleapis.com/stateless.yaruzo-eigo.com/2022/03/0d39e588-スクリーンショット-2022-03-05-12.34.19-526x1024.png)
まとめ
youtube_api パッケージを利用して Youtube の動画を検索しました。
しかし、search result しか機能がない。自分で API を叩くことになりそう。
参考
![](https://runble1.com/wp-content/uploads/cocoon-resources/blog-card-cache/793a847a255504e33e3e8cceaec35c85.png)
youtube_api | Flutter package
YouTubeAPI is a plugin which directly interacts with YouTube server. Supports Searching video and playlist.
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwRmx1dHRlciVFMyU4MCU5MVlvdXR1YmUlMjBBUEklRTMlODIlOTIlRTclOTQlQTglRTMlODElODQlRTMlODElQTYlRTUlOEIlOTUlRTclOTQlQkIlRTYlODMlODUlRTUlQTAlQjElRTMlODIlOTIlRTYlQTQlOUMlRTclQjQlQTIlRTMlODElOTklRTMlODIlOEJGbHV0dGVyJTIwUGFja2FnZSVFMyU4MSVBQlBSJUU5JTgwJTgxJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJUJGJUUzJTgxJTlGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yYTk3MDZmYjI0NTdiYmVlYjVhYTFjYmEzNjkwZmY4OQ&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwbmlub2tvMTk5NSUyMGluJTIwJUU2JUEwJUFBJUU1JUJDJThGJUU0JUJDJTlBJUU3JUE0JUJFJUUzJTgzJTkzJUUzJTgzJUJDJUUzJTgzJTkzJUUzJTgzJTgzJUUzJTgzJTg4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mNDllMzM3ODk5MmY1ZWQ3M2ViNzFkZjM1NDk4MjIzMw&blend-x=142&blend-y=491&blend-mode=normal&s=af4f92177ec2ef1ab4c5ed32f6760779)
【Flutter】Youtube APIを用いて動画情報を検索するFlutter PackageにPR送ってみた - Qiita
概要目的開発中のアプリ内で、YouTubeの特定のチャンネルの動画を検索したい。やったことFlutterでyoutube動画の情報を取得するFlutter Packageを用いてみるできな…
送った PR は Open のままだった。がんばってほしい。
コメント