2021/01/06

YouTube Data API を使ってみた

皆さんはYoutube、使っておりますか!

自分は色々チャンネル登録して使っております

登録してるチャンネルのジャンルがいくつかに別れてる身としてはリストを分けて別々に新着動画を見れるといいなーと思っていたのですが、YouTubeにはそんな感じの機能がなさそうだったので作ってみることにしました

YouTubeのデータを参照したり更新したりするためにYouTube Data APIというものが提供されているようなので、これを使ってみます

YouTube Data APIを使う方法としては、APIキーを使う方法(ログインしてない状態で可能な操作ができる)と、OAuth 2.0を使う方法(ログインした状態でのみ可能な操作もできる)の2つがあるようなのですが、今回は指定したユーザの登録チャンネルの新着動画を取りたかったのでOAuth2.0を使ってみることにしました

アプリケーションの処理の流れとしては以下のような感じです

最初にYoutubeにログインした後は、ひたすらAPIを叩いて登録チャンネルから動画の情報を辿っていく流れになってます

検索のAPIを使うともう少し処理を減らすことができるのですが、YouTube Data APIにはクォータという利用制限があるそうです
https://developers.google.com/youtube/v3/determine_quota_cost?hl=ja

APIの使用量は1日10000クォータ以内に納める必要があるようで、基本的に情報を取得するAPIは1回1クォータなのですが、検索のみ1回100クォータ使ってしまうので、クォータの使用量を抑えるために検索のAPIは使わないようにしています

元々はどのアカウントでも使えるようにしようと思ったのですが、ページにアクセスするたびにAPIを利用しようとするとクォータ制限がかなり厳しいので、自分のアカウントでしか使えないようにしました

そうしてできたのが以下のページです

/soft/youtube_subscriber_list

(↓このページを見ているみなさんは使えないと思うので使っている様子をば)

Youtube Data APIを使ってどのアカウントでも利用できるアプリケーションを作ろうとすると結構大変な気がしますね・・・
リアルタイムで結果を返すようなものは現実的じゃなさそうに感じました
ですが個人的に使う分には支障ないので、そこは気にしない方向で!