YoutubeAPIでチャンネルの動画情報を取得するための前準備
チャンネルのアップロードIDから動画IDを取得する
チャンネルのアップロードIDの取得方法は前回の記事を参照ください
動画IDというのはそのままの意味で、動画毎に設定されているIDのことです
URLでいうと赤い四角の部分です
このIDがあれば、動画に関する情報を色々と取得できるわけですが、
だからといってチャンネルに行って、動画を一つずつ見ていってIDを取得していくのはあまりにも手間でやってられないですね
というわけで、今回はチャンネルに登録されている動画のIDの取得処理について記事にします
リクエスト送信先URL
前回と同じく動画情報のリストを取得する際も指定されたURLにリクエストを送信することで取得できます
送信先のURLはこちら
https://www.googleapis.com/youtube/v3/playlistItems
URL的に動画リストと書きましたが再生リストが正しいですかね
まあそれはともかく、このURLに前回と同じくいくつかパラメータをセットすることで再生リストの情報を取得することができます
パラメータ名はまず前回と同じくpart
今回使用するのはcontentDetailsのみです
次にplaylistId
セットする値は前回の記事で取得したuploadsの中に入っていたプレイリストIDです
そして、検索件数を指定するためのmaxResult
ここで指定した件数分だけ動画情報を取得します最大値は50
デフォルトは5になっています
で最期に前回と同じくAPIキーを設定するためのkeyです
なのでリクエスト用のURLはこんな感じになります
https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&playlistId=プレイリストID&maxResults=検索したい件数&key=APIキー
リクエスト結果
contentDetailsの中身がこんな感じです
ここで取得できるvideoIdが動画IDとなります
これと同じ検索結果がmaxResultで指定した数だけ取得できます
動画数が50を超えている場合はどうするか
さて、これで動画IDを無事取得することができたわけですが、問題は最大検索数が50なので、もし動画数が50を超えていた場合、どうすればいいのか?
答えは検索結果のページを指定する、です
まあこれだけだと意味がわからないと言うか指定方法がわからないと思うので説明します
検索数よりも動画の数のほうが多い場合リクエスト結果の中にnextPageTokenというパラメータが設定されます
読んで字のごとく次のページを指定するためのトークンとなります
ここで先ほど説明したリクエストURLにページを指定するためのパラメータpageTokenを指定することで次のページの検索結果を取得することができます
URLにするとこんな感じです
https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&playlistId=プレイリストID&maxResults=検索したい件数&pageToken=次のページのトークン&key=APIキー
※次のページのトークンはこの場合CAUQAAになります
こんな形でリクエストを送信すると、前回と違った送信結果が返ってきているはずです
次のページがなくなった段階でnextPageTokenが設定されなくなるので、そうなったらすべての動画を検索したということですね
まとめ
今回はプレイリストIDから投稿している動画のIDを取得する方法を書いてみました
なお、記載はしていませんが結果を取得した段階でサムネイルと動画IDが取得できているので、再生数やコメント数など動画の情報が必要でない場合はこれだけで済ませてしまってもいいかもしれないですね
さて次は、取得した動画IDから動画の情報を取得する方法を記事にする予定です
いちばんやさしいWordPressの教本第3版 人気講師が教える本格Webサイトの作り方 (「いちばんやさしい教本」)
- 作者: 石川栄和,大串肇,星野邦敏
- 出版社/メーカー: インプレス
- 発売日: 2017/02/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る