0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YouTube APIでチャンネルの動画一覧データを取得する

Last updated at Posted at 2025-06-08

本記事では、YouTube Data API V3を使って、特定のチャンネルに投稿された動画の一覧データを取得する流れをまとめています。

チャンネルに投稿された動画の一覧データを取得するのはチャンネルIDをパラメーターに指定すれば1発で取れそうなイメージがありますが、実際にはchannnelsにリクエストして、そのレスポンスデータを使って、playlistItemsを実行する、という2つのリソースへのアクセスが必要でした。

そして、この事が公式ドキュメントを探した限り出てこなくてハマったので、記事に残そうと思います。

実践

(1)
Google Cloud コンソールを開き、プロジェクトを作成する。
作成済みであれば、プロジェクトを選択する。

(2)
検索ボックスにyoutubeと入力するとYouTube Data API V3が出るので選択する

スクリーンショット 2025-06-08 10.40.13.png

(3)
YouTube Data API V3製品詳細ページへ遷移するので、有効にする ボタンをクリック

スクリーンショット 2025-06-08 10.40.27.png

(5)
前のページに戻り、左のサイドメニューから認証情報を選択する

スクリーンショット 2025-06-08 10.41.21.png

ページの上部にある+認証情報を作成をクリックて、APIキーを選択するとAPIキーが作成されるので、控えておきます。

スクリーンショット 2025-06-08 10.42.28.png

(6)
再度ヘッダーの検索ボックスにyoutubeと入力して、YouTube Data API V3製品詳細ページを開き、ページの下の方に、Learn moreというリンクがあるので、クリックして開く

スクリーンショット 2025-06-08 12.01.34.png

(7)
ページが開いたら、ヘッダーのメニューからサンプルを選択し、YouTube Data API (V3)の下に各言語のリンクが並んでいるので、JavaScriptを選択

スクリーンショット 2025-06-08 12.03.26.png

(8)
ユースケースとコード スニペットというページが開きます。ここでリソース、メソッドを選択してAPIを実行できます。
本記事では特定のチャンネルのアップロード動画を取得したいと思います。
チャンネルIDを用意しておいてください。(*チャンネルIDの確認の仕方は省略)
リソース、メソッドは以下を選択します。
リソース:channels
メソッド:list

スクリーンショット 2025-06-08 11.41.21.png
サンプル名の横にある赤色のコードアイコン</>をクリックします。

(9)
API Explorerモーダルが開くので、チャンネルIDをidパラメーターに指定し、下にあるExecuteボタンをクリックする。
*partに入っているのはレスポンスオブジェクトに含める情報で、デフォルトのままでOK

スクリーンショット 2025-06-08 11.30.14.png

(10)
200が返って成功するとレスポンスに以下が含まれます。

"contentDetails": {
  "relatedPlaylists": {
    "likes": "",
    "uploads": "UUL6JY2DXJNDOIqCP1CRADng"
  }
}

contentDetails.relatedPlaylists.uploads が次のリソース(playlistItems)に必要なplaylistIdとなります。

(11)
続いて、リソース、メソッドは以下を選択します。
リソース:playlistItems
メソッド:list
同様に赤色のコードアイコン</>をクリックしてAPI Explorerモーダルを開き、playlistIdをパラメーターに指定して、Executeします。成功するとitemsに各動画のチャンネルID、タイトル、サムネイル(サイズ別)など必要なデータが揃ったオブジェクトが配列で格納されます。

スクリーンショット 2025-06-08 12.20.10.png

API Explorerの右側にCurlコマンド、各言語での実装サンプルも出してくれてます。
それには冒頭で取得したAPIキーが必要になります。

channelsを叩いて、playlist IDを取得し、playlistItemsを叩いて、アップロード動画一覧が取得できるのですが、2つのチャンネルでテストしてみた結果、どうやらplaylist IDはチャンネルIDの2文字目をCからUに変えただけぽかったです。
この決まりであれば、playlistItemsだけリクエストすればいいのかなと思いましたが、確証ははないので、本記事のように2つのリソースにリクエストするやり方が確実だと思います。

某チャンネルID
UCL6JY2DXJNDOIqCP1CRADng
playlist ID
UUL6JY2DXJNDOIqCP1CRADng

某チャンネルID
UCBRZGokm2-SNYfvFWy3hfYg
playlist ID
UUBRZGokm2-SNYfvFWy3hfYg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?