YouTube Data API を使ってみた
動画一覧を取得する
サンプル
https://www.googleapis.com/youtube/v3/search?key=<API_KEY>&channelId=<CHANNEL_ID>&part=snippet,id&order=date&maxResults=20
これで特定チャンネルの動画を新しい順で取得することができます。
APIキーの取得
1. Google Cloud PlatformでYoutube API を利用するためのプロジェクトを作成。
例では既にYoutubeと名前をつけたプロジェクトを作成済みです。
プロジェクトの切り替えボタンを押す。
新しいプロジェクトの作成ボタンを押す。
新しく作成するプロジェクト情報を入力して完了する。
画像の記載ミス;買える → 変える。
2. APIキーの発行
認証情報ページに遷移する。
認証情報を作成する。
APIキーを選択。
これを利用します。
発行したキーに制限をかけることをおすすめします。
とりあえず Youtube Data API v3
だけしか使えないように制限するとよさそうです。
各種パラメータ
part
必須のパラメータ。
&part=id,snippet
が標準的に利用するパラメータだと思っておけばいい。
channelId
特定のチャンネルの動画を取得したいときに使う。
&channelId={チャンネルのID}
maxResults
結果の取得数。
デフォルトが5
で、最大が50
。
ある程度取得できればいいので20
くらいに。
&maxResult=20
order
新しい順に取得するのであれば date
。
詳細はGoogle野公式リファレンスで確認。
- date – リソースを作成日の新しい順に並べます。
&order=date
q
検索クエリ。
&q=まりありうむ
動画の詳細情報を取得する。
古いYoutubeチャンネルだとIDを自由に変更できたみたいなので、遷移先で表示されているチャンネルIDが正規のものではない可能性があります。
チャンネルIDがわからないときは、そのチャンネルが投稿している動画情報を取得すると記載されています。
https://www.googleapis.com/youtube/v3/videos?key=<API_KEY>&id=<VIDEO_ID>&part=snippet,id&order=date&maxResults=20
[
{
"kind": "youtube#video",
...
"id": "<VIDEO_ID>",
"snippet": {
"publishedAt": "...",
"channelId": "<CHANNEL_ID>",
"title": "...",
"description": "...",
"thumbnails": {
...
},
"channelTitle": "...",
"categoryId": "...",
"liveBroadcastContent": "none",
"defaultLanguage": "ja",
"localized": {
...
},
"defaultAudioLanguage": "ja"
}
}
]
ここにチャンネルIDが掲載されています。 パラメータに関しては大きな変更点がないので省略します。
id
動画のID。
https://www.youtube.com/watch?v=<VIDEO_ID>
動画のURLの ?v=
後ろに続くやつです。
&id=<VIDEO_ID>
おわりに
こんな感じで特定のチャンネルの動画一覧を取得するついでにメモった内容を掲載しておきます。
なぜ、APIに手を出したのかと言うと、 たまに登録チャンネルに表示されない動画が存在するチャンネルがあってそれを監視しようかなと思ってAPIを利用しました。