Class: YoutubeSearcher::Client
- Inherits:
-
Object
- Object
- YoutubeSearcher::Client
- Includes:
- Singleton
- Defined in:
- lib/youtube-searcher/client.rb
Constant Summary collapse
- APPLICATION_NAME =
"Youtube Searcher"
- YOUTUBE_API_SERVICE_NAME =
"youtube"
- YOUTUBE_API_VERSION =
"v3"
Instance Method Summary collapse
Instance Method Details
#client ⇒ Object
37 38 39 |
# File 'lib/youtube-searcher/client.rb', line 37 def client @client ||= Google::APIClient.new(key: api_key, authorization: nil, application_name: APPLICATION_NAME, application_version: YoutubeSearcher::VERSION) end |
#search(query, max_results: 20) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/youtube-searcher/client.rb', line 12 def search(query, max_results: 20) parameters = Hash.new parameters[:part] = "id,snippet" parameters[:type] = "video" parameters[:maxResults] = max_results parameters[:q] = query response = client.execute!( api_method: youtube.search.list, parameters: parameters ) videos = Array.new response.data.items.each do |result| video = Hash.new video[:title] = result.snippet.title video[:url] = "http://www.youtube.com/watch?v=#{result.id.videoId}" videos << video end videos end |
#youtube ⇒ Object
41 42 43 |
# File 'lib/youtube-searcher/client.rb', line 41 def youtube @youtube ||= @client.discovered_api(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION) end |