An insanely easy Ruby interface to the Flickr photo-sharing service. By Scott Raymond <sco@redgreenblu.com>
via RubyGems: gem install flickr
...or download the gem: flickr-1.0.0.gem
...or just get the source by itself: flickr.rb
You'll also need a Flickr API key.
require 'flickr'
# basics
flickr = Flickr.new # create a flickr client
flickr.login(email, password) # log in for actions that require it
flickr.users # get all users currently online
flickr.photos # get the 100 most recent public photos
flickr.tag('red') # search for photos tagged with 'red'
flickr.groups # get all active public groups
# working with users
user = flickr.users('sco') # lookup a user by username
user = flickr.users('sco@scottraymond.net') # or email
user.name # get the user's real name
user.location # and location
user.photos # grab their collection of Photo objects...
user.tag('red') # search their photos for the tag 'red'
user.groups # ...the groups they're in...
user.contacts # ...their contacts...
user.favorites # ...favorite photos...
user.photosets # ...their photo sets...
user.tags # ...and their tags
# working with photos
photo = flickr.photos.first # get the most recent public photo
photo.url # see the URL for the photo's page...
photo.url('Original') # as well as for its various sizes
photo.source # see the URL for the JPEG itself...
photo.source('Small') # as well as for its various sizes
photo.title # get its title,
photo.description # description,
photo.owner # owner,
photo.owner.name # and its owner's name, etc.
# downloading files
File.open(photo.filename, 'w') do |file|
file.puts photo.file # save the photo to a local file
end
flickr.photos.each do |photo| # get the last 100 public photos...
File.open(photo.filename, 'w') do |file|
file.puts photo.file('Square') # ...and save a local copy of their square thumbnail
end
end
# ...and so much more. see the docs for full details.
MIT License. Attribution and contribution encouraged.
Maik Schmidt for XmlSimple, Ludicorp for Flickr, and Premshee Pillai for Flickr-ruby.