A Ruby implementation of the Flickr API.
It is a fork of rflickr, which is no longer maintained.
Includes a faithful reproduction of the published API as well as method encapsulation to provide more useful object mappings. As rflickr, it features result caching to improve performance, with addition to some bug fixes in the API implementation.
sudo gem install r2flickr
- The Flickr API reference – look here for detailed explanation of methods and parameters
You’ll need to authorize your application’s API key for each account which you want to access. The process is described on the Flickr Authentication API page.
Here is a sample you can use to get started:
flickr = Flickr.new(token_cache_file, MY_APPLICATION_KEY, MY_SHARED_SECRET)
unless flickr.auth.token
flickr.auth.getFrob
url = @flickr.auth.login_link
puts "You must visit #{url} to authorize this application. Press enter " \
"when you have done so. This is the only time you will have to do this."
gets
flickr.auth.getToken
flickr.auth.cache_token
end
# do flickr stuff now
The general idea is that once you cache the token, the user will not have to reauthorize your application unless the file where the token is cached (the first argument to the new method on Flickr) is deleted.
When you create a new Flickr instance and pass in a file path to the cached token, the API will attempt to load the token from the file. If found and loaded, the Flickr instance’s auth.token is present. If the token could not be found in the file specified, then the instance’s auth.token will be nil, and you will have to have the user authorize
the application before it can be used.
For convenience, you can set your API_KEY and SHARED_SECRET in the installed version of flickr/base.rb rather than including it in every application.
http://github.com/markoa/r2flickr
git clone git://github.com/markoa/r2flickr.git
If you find a bug, you can report it through the issues interface.
Feel free to fork, write code and send a pull request.
- Trevor Schroeder (rflickr author)
- Marko Anastasov
- Dustin Sallings
GPL. See LICENSE file for details.