YouTube Data APIから、動画のデータを取得する方法~APIキー入手と、json形式で基本データ取得

      2021/02/23   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概要をチェックし、いろいろ機能を実装してみたいと思います。

ネットで曲アレンジ/作曲サービス|アトリエSS仙台


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

  関連記事

【動画・mv作成】AnimeEffects導入で、動かない場合のグラフィックドライバ更新方法(OpenGL 3.3のインテルHDグラフィックス)
【YouTube-Data-API】悪用禁止、非表示になったyoutube低評価数を見る方法
【炎上ユーチューバー終了か?】youtube収益化で黄色アイコンは注意!広告掲載制限!
PCやスマホ(アプリ&ブラウザ)で、ぼやけるときのyoutube画質調整方法
【動画サイト集客】チャンネルが育ってない段階での、適切なYouTube動画内のリンク設定
【YouTube Data API】クォータの使用量はどのように確認する?オーバーするとどうなる?読み取りでの使用量は?
【動画制作・演出】aviutlで、『月がきれい』っぽい、タイトルロゴの出し方やってみた【パーティクル重いよ】
YouTube パートナー プログラムの参加要件がさらに厳しくなったらしいんですけど(4000時間再生&1000登録者)
音楽と絵・動画をうまくくっつけたコンテンツ制作手法『モーションコミック』はいかが?
かんたんAviUtl講座~絵・テキスト・BGMをつかって、カンタンな音楽系動画を作ってみよう
youtube頭音切れ発生(Aviutl・wmv出力&エンコ設定ミス)管理人はどう解決した?
【vtuberアプリ】hololive(ホロライブ)&aviutl連携で、バーチャルキャラ動画を作成する方法