web画像をflickrに保存してみる by ruby

最近、無料で1TB容量の提供 (「6.5Mピクセル写真にして53万7731枚」)になったflickrにweb画像を保存してみた
まずは、flickrのアカウント取得後、ここから
http://www.flickr.com/services/apps/create/apply/
keyとsecretを取得してflickrawをインストール

gem install flickraw

hanklords/flickraw · GitHubを参考に
このスクリプト実行してoauth_tokenとoauth_token_secretを取得

require 'flickraw'

FlickRaw.api_key="... Your API key ..."
FlickRaw.shared_secret="... Your shared secret ..."

token = flickr.get_request_token
auth_url = flickr.get_authorize_url(token['oauth_token'], :perms => 'delete')

puts "Open this url in your process to complete the authication process : #{auth_url}"
puts "Copy here the number given when you complete the process."
verify = gets.strip

begin
  flickr.get_access_token(token['oauth_token'], token['oauth_token_secret'], verify)
  login = flickr.test.login
  puts "You are now authenticated as #{login.username} with token #{flickr.access_token} and secret #{flickr.access_secret}"
rescue FlickRaw::FailedResponse => e
  puts "Authentication failed : #{e.msg}"
end

できたー。簡単

require 'flickraw'
require 'open-uri'

FlickRaw.api_key = API_KEY
FlickRaw.shared_secret = SHARED_SECRET
flickr.access_token = ACCESS_TOKEN
flickr.access_secret = ACCESS_SECRET

login = flickr.test.login
url="http://hoge.com/hoge.jpg"
path="tmp.jpg"
open(path, 'wb') do |output|
  open(url) do |data|
    output.write(data.read)
  end
end
photo_id = flickr.upload_photo path, :title => path
info = flickr.photos.getInfo(:photo_id => photo_id)
p FlickRaw.url(info)

参考
hanklords/flickraw · GitHub
[Gem] FlickrawでFlickrに画像を簡単アップロード/ダウンロード [Rails] - 酒と泪とRubyとRailsと