Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

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とサイトやアプリ連動が可能になります。

まずは、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ディベロッパーページ)

あとがき・まとめ

  • Google API Consoleで、 APIキーを入手して、YouTube Data APIを使うことができる
  • 『videoリソース』『channel リソース』など、いろいろな形式が有り
  • パラメーターによって、いろいろな情報を取れる

まとめるとこんな形でしょうか。 API Consoleで APIキーを入手の作業が、少し面倒な気がしましたが、データさえ取れてしまえば、あとはどうにでもなりそうです。パラメーターで内容を変えられるので、YouTube Data API概要をチェックし、いろいろ機能を実装してみたいと思います。


【カテゴリ】- 動画/PV等制作
【タグ】- ,

関連記事