ActiveYoutube is a gem to access YouTube API using ActiveResource. This gem wraps code from our
previous post on extending ActiveResource to access YouTube. There have been minor changes, which are :
- Namespace in class names: Video, User, StandardFeed and Playlist classes have been moved to "Youtube" module, to prevent any conflicts with your ActiveRecord models.
- CustomMethods related change: In last version, only response from "find" was converting "entry" object to array of "entry" object. Now, the same behavior is implemented for custom http calls like Video.find().get(:comments)
- Small patch for better namespacing: Its basically some code from the rails trunk on ActiveResource, for better handling of namespaces while creating ActiveResource objects.
Gem Installation:
|
sudo gem install active_youtube |
Example Usage:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#### Video
## search for videos on 'ruby'
search = Youtube::Video.find(:first, :params => {:vq => 'ruby', :"max-results" => '5'})
puts search.entry.length
## video information of id = ZTUVgYoeN_o
vid = Youtube::Video.find("ZTUVgYoeN_o")
puts vid.group.content[0].url
## video comments
comments = Youtube::Video.find_custom("ZTUVgYoeN_o").get(:comments)
puts comments.entry[0].link[2].href
## searching with category/tags
results = Youtube::Video.search_by_tags("Comedy")
puts results[0].entry[0].title
#### STANDARDFEED
## retrieving standard feeds
most_viewed = Youtube::Standardfeed.find(:most_viewed, :params => {:time => 'today'})
puts most_viewed.entry[0].group.content[0].url
#### USER
## user's profile - guthrie
user_profile = Youtube::User.find("guthrie")
puts user_profile.link[1].href
#### PLAYLIST
## get playlist - multiple elements in playlist
playlist = Youtube::Playlist.find("EBF5D6DC4589D7B7")
puts playlist.entry[0].group.content[0].url |
ActiveYoutube is a gem to access YouTube API using ActiveResource. This gem wraps code from our previous post on extending ActiveResource to access YouTube. There have been minor changes, which are :