プログラミング初心者が自身で作りたいwebページの作成中に
疑問に思ったこと、問題解決したことを書いていきます。
間違っている点も多々あると思います。
突然、YouTube Data API v3 で取得していた動画情報が取得できなくなってしまった
YouTubeの動画URLを入力すればカテゴリ別に仕分けしてDBに登録し、リスト形式で表示するというwebアプリを作った。
動画情報をYouTube Data API v3を用いてリスト形式で表示させるというものだったが
突然動画情報が取得できなくなってしまった。
1.原因の調査
原因を調査したところ、GoogleのAPIでは1日に使用できる「クォータ(Queries)(?)」の制限があるとのこと。
[コンソール](https://console.cloud.google.com/apis/api/youtube.googleapis.com/quotas)こちらにアクセスしたところ確かにいっぱいだった・・・
(連日上限まで気づかずに使っていたみたい・・・)
1日のクォータ数の上限は10,000しかないみたい・・・
上限の引き上げもGoogle側に申請できるみたいだったが、英語での申請とのことで敷居が高い・・・
ならば自身のコードの見直しをしてみた。
2.コードの見直し
自身のwebアプリは
1.youtube動画のURLをデータベースに保存
↓
2.データベースに保存されたURLをもとに動画情報取得(サムネイル、投稿者、タイトルなど)
↓
3.カテゴリ別に取得した情報を表示させる
といったものだ。
この「2」の箇所でAPIでの取得を行っていることが原因でクォータの上限に簡単に達してしまう模様。
これでは公開したらまともに動作しなくなってしまう・・・
3.コードの改善
コードというより最早設計の問題だった。
APIでの動画情報取得をできるだけ少なくするためにデータベースの保存時のみ動画情報取得するように設計し直した。
1.youtube動画のURLから動画情報(サムネイル、投稿者、タイトルなど)を取得し、データベースに保存
↓
2.データベースに登録された動画情報を動画URLごとに表示させる
これで、動画リストを開くたびにAPIが使用されることがなく、クォータの使用量もかなり余裕ができた。