如何使用Flickraw gem对flickr进行身份验证

时间:2011-09-07 16:43:13

标签: ruby-on-rails flickr

我想上传照片,但需要使用flickr进行身份验证才能执行此操作。我正在使用flickraw gem但不理解以下说明:

require 'flickraw'

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

token = flickr.get_request_token(:perms => 'delete')
auth_url = token['oauth_authorize_url']

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}"
rescue FlickRaw::FailedResponse => e
  puts "Authentication failed : #{e.msg}"
end

有人可以向我解释这段代码在做什么以及我应该如何使用它。

3 个答案:

答案 0 :(得分:1)

首先,您应该打开http服务

 rails server 

在控制台上,您将看到

Open this url in your process to complete the authication process : http://xxxx.xxxx.xxxx.xxxx........

您必须复制该网址并将其发布在您的浏览器上。

登录后,您将获得一个号码,例如

 xxx-xxx-xxx

只需将其复制到您的控制台上即可!

答案 1 :(得分:0)

  1. 创建一个新的Flickr应用。从那里获取api密钥和共享密钥。
  2. “flickr.get_request_token”从flickr创建请求oauth令牌。您可能希望将权限设置为:write如果要上载而不是:delete
  3. auth_url是您必须重定向到的位置。该URL还包含您刚刚创建的oauth请求令牌。
  4. 一旦您进入auth_url页面(为此您必须登录到您的Yahoo!帐户),您可以授权您的应用访问您的flickr帐户。这会提供验证ID。
  5. 使用该验证ID,您可以使用此方法调用'flickr.get_access_token'
  6. 获取oauth访问令牌
  7. 一旦你拥有了Oauth访问令牌,你就可以在flickr上执行你的:perms允许的任何api查询。
  8. 此处详细介绍了整个过程 - http://www.flickr.com/services/api/auth.oauth.html

答案 2 :(得分:0)

我提交了一个拉取请求,但这里有一个更新的文档形式,应该更清楚

 == Simple

+#Place near the top of your controller i.e. underneath FlickrController < ApplicationController
  require 'flickraw'

+#Create an initializer file i.e. Flickr.rb and place it in config -> initializers folder
  FlickRaw.api_key="... Your API key ..."
  FlickRaw.shared_secret="... Your shared secret ..."

+#Examples of how the methods work
  list   = flickr.photos.getRecent

  id     = list[0].id
  ...