YouTube Data APIから、動画のデータを取得する方法~APIキー入手と、json形式で基本データ取得
| 更新: 2024/02/11 | 2858文字
今回はAPIデータ取得話題・みなさん的にも利用頻度がおそらく高いと思われる『YouTube』を取り上げます。ただサイトに埋め込むだけではなく、動画からデータを抽出したりできると、バリエーションが増えそうです。そこでYouTube Data APIを使用してみました。まずは『APIキー入手や基本のデータ取得』を行ってみましょう。
目次
YouTube Data APIとは?何ができる?
APIとは、 『Application Programming Interface』のことなんですけど(先日このサイトではWordPress・REST APIを取り上げました)、youtubeが提供しているAPIでも、データを取ってきて、外部のサイトと連携させることができます。
管理人がサクッとやってみた感じだと、パラメーターの指定のしかたによって『タイトルやディスクリプション』などのほか『サムネイル・再生回数・いいね数』なども取れたようです。
形式はjsonのデータ形式で出てくるので、いろいろなプログラム言語を使って、YouTubeとサイトやアプリ連動が可能になります。
◆YouTube Data API の概要(googleディベロッパーページ)
https://developers.google.com/youtube/v3/getting-started
まずは、Google API Consoleで、 APIキーを入手
それでは今回のキモとなるAPIキーを入手(というかこれが全て?)していきますか。Google API Console(https://console.developers.google.com)のページで、youtubeデータ取る用に、新プロジェクトを作成します。
プロジェクトに名前を付けます。適当でもいいんですが、後から変更できないらしいので、わかりやすいものを。管理人が持っている曲素材サイトSSFのyoutubeを使う予定だったので、それ系の名前をつけて、他のgoogle api系のプロジェクトと区別しやすいように。
プロジェクトを作ったら、ダッシュボードでAPIを有効化しましょう。
アナリティクスapiとかいろいろあります。今回は単純に動画情報を取っていくので、『YouTube Data API v3』をチョイス。
ボタン押して起動したんでくるくる回っています。
API設定しましたが、この段階ではまだ使えません。次は認証情報。
セキュリティ上のこともあるので、キー制限なども入れておきます。使い道が決まっている場合は(アプリかwebサイトかなど)、呼び出し場所制限なども入れます。ユーザーデータについては、今回はアクセスできないようにしておきたいと思います(youtubeで見れる。公開されている情報のみに制限)。
API とサービス/認証情報(左メニュー)のページにいくと、APIキーができていました。このキーを使ってyoutubeの情報を扱うことが可能になります。
YouTube Data APIから、json形式で基本データ取得してみる
キーがないと、403になって取れない
ちなみに、キーが無い状態だと、こうなりますという例です。アドレスは『https://www.googleapis.com/youtube/v3/videos?id=OyxHsVP4izU』。『videos?id=〇〇』は動画のアドレスについているidです。google側では『videoリソース』という呼び方をしています。ステータスが403になるようですね。
同じように、『channel リソース』でアクセスしようとしても、キーがないとこんな感じ。channel リソースのアドレス形式は『https://www.googleapis.com/youtube/v3/channels?id=〇〇(チャンネルのid)』という形式です。
パラメーター『part=snippet』を使ってみた例~サムネ
試しに、単体の動画からデータを取ってみます。 アドレス形式は『https://www.googleapis.com/youtube/v3/videos?id=〇〇(動画id)&key=◇◇(APIキー)&part=snippet』という形式。json形式でいろいろ出てきます。
各種サイズサムネイルや動画id、タイトルや概要、タグなどの情報を取ることができました。
パラメーター『part=statistics』を使ってみた例~再生回数やいいね数なども(ただし公開している場合のみ)
少しパラメーターを変えてみます。 アドレス形式は『https://www.googleapis.com/youtube/v3/videos?id=〇〇(動画id)&key=◇◇(APIキー)&part=statistics』に。
このパラメータだと再生回数・いいね回数などを取れるようです。ただし、管理人はこの動画の評価数を公開していなかったので、カウントが0になっています。 リアルタイムで『チャンネル内動画高評価数〇〇!』みたいにカウントしていく機能を作っても面白いかもしれません。
参考リンク(googleディベロッパーページ)
◆YouTube Data API の概要
https://developers.google.com/youtube/v3/getting-started
◆リファレンス Videos: list
https://developers.google.com/youtube/v3/docs/videos/list
あとがき・まとめ
- Google API Consoleで、 APIキーを入手して、YouTube Data APIを使うことができる
- 『videoリソース』『channel リソース』など、いろいろな形式が有り
- パラメーターによって、いろいろな情報を取れる
まとめるとこんな形でしょうか。 API Consoleで APIキーを入手の作業が、少し面倒な気がしましたが、データさえ取れてしまえば、あとはどうにでもなりそうです。パラメーターで内容を変えられるので、YouTube Data API概要をチェックし、いろいろ機能を実装してみたいと思います。
【カテゴリ】- 動画/PV等制作
【タグ】- youtube, YouTube-Data-API