Rubyでgoogle-api-clientを使ってYouTube Data APIを呼ぶ
使い方例
準備
Gemfile
gem 'google-api-client', '~> 0.30.6'
/config/initializers/youtube.rb
require 'google/apis/youtube_v3' module YouTube class Client Service = Google::Apis::YoutubeV3::YouTubeService.new Service.key = ENV.fetch('DEVELOPER_KEY') end end
呼び出し
res = YouTube::Client::Service.list_channels( 'statistics', id: youtube_channel_id ) res.items.first.statistics.subscriber_count
res = YouTube::Client::Service.list_playlist_items( 'snippet', playlist_id: playlist_id )
topic_res = YouTube::Client::Service.list_videos( 'topicDetails', id: youtube_video_id )
- メソッドの命名規則はおそらく
(list | update | insert ...)_(playlist_items | videos | channels ...)
という感じになっていて、公式のドキュメント(https://developers.google.com/youtube/v3/docs?hl=ja)のメニューの第一階層(PlaylistItems, Videos, Channels ...)と第二階層(list, update, insert ...)に対応している。 - メソッドの第一引数はpart(APIのレスポンスに含める内容を決める値)で、カンマ区切りで複数指定できる。
- レスポンス内のキーはスネークケース
参考
google-api-ruby-client/service.rb at master · googleapis/google-api-ruby-client · GitHub
google-api-ruby-client/you_tube.rb at master · googleapis/google-api-ruby-client · GitHub