Skip to content

Instantly share code, notes, and snippets.

@assembler
Created January 16, 2013 07:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save assembler/4545388 to your computer and use it in GitHub Desktop.
Save assembler/4545388 to your computer and use it in GitHub Desktop.
youtube.search.list (v3 api)
require 'google/api_client'
client = Google::APIClient.new(application_name: 'Bent Pixels', application_version: '1.0')
client.key = 'XXX'
youtube = client.discovered_api('youtube', 'v3')
puts "-------- getting latest videos --------"
i = 1
nextPageToken = nil
videos = []
1.upto(5) do
result = client.execute!(
api_method: youtube.search.list,
authenticated: false,
parameters: {
part: 'id,snippet', order: 'date', type: 'video',
maxResults: 50, pageToken: nextPageToken
}
)
if result.data.respond_to?(:error)
puts "**** ERROR: " + result.data.error['message']
else
result.data["items"].each do |item|
videos << item['id']['videoId']
puts "%04d. [%s] [%s] %s" % [i+=1, item['snippet']['publishedAt'], item['id']['videoId'], item['snippet']['title']]
end
nextPageToken = result.data["nextPageToken"]
puts "nextPageToken: #{nextPageToken}"
end
sleep 5
end
puts "Videos: #{videos.length}, unique: #{videos.uniq.length}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment