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の中身です)

f:id:crossfabricate:20160331214551p:plain

上記の図から、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日)