YouTube Data API v3の検索をRubyで触ってみた②
前回に引き続きYouTube Data API v3について書いていきます。
URLを直に各方法について
YouTubeのキーワード検索をしたいので、以下のURLにキーワードを追加や検索動画の件数の情報を追加していきます。
https://www.googleapis.com/youtube/v3/search
上記のURLに最低限追加しなくてはいけないものが3つあります。
追加するもの | 内容 |
q | 検索キーワード |
key | 開発用の鍵(Developer key) |
part | プロパティ指定 |
https://www.googleapis.com/youtube/v3/search?part=snippet&q=○○&key=○○
このようなURLにアクセスすると検索結果のjsonが取得できます。
アクセス方法は、open-uriを使う方法を使いました。
まだ件数を指定していないため、アクセスして取得される動画は5件になっています。
取得する動画の件数の指定は、maxResultsを追加して行います。
他の方のブログなどを参考にすると、50件が最大らしいです。
https://www.googleapis.com/youtube/v3/search?part=snippet&q=○○&key=○○&maxResults=10
このようにすると、10件の検索結果が取得できます。
アクセス例は以下のように
require 'open-uri' require 'json' url = "https://www.googleapis.com/youtube/v3/search?part=snippet&q=○○&key=○○&maxResults=10" res = open(url) result = res.read youtube_data = JSON.parse(result)
取得できたjsonの中身は以下のようになっています。(上記のコードのresultの中身です)
上記の図から、kind,etag,nextPageToken,regionCode,pageInfo,itemsという配列があることが分かります。
そして動画の検索結果に関しては、itemsという配列の中にあります。
動画の個別のidはitemsのidのvideoIdに書いてあるので以下のように書くと、検索結果の最初の動画のidが取得できます
youtube_data.first["items"]["id]["videoId"]
取得できたidは以下のurlに追加すると、動画のページにアクセスすることができます。
https://www.youtube.com/watch?v=○○
(追伸)
jsonを表示した画像に手違いがあり、それを参考に記述した記事の一部及び画像を変更しました(2016年3月31日)