twitter gem并传递用户名和密码

the*_*nso 0 twitter gem ruby-on-rails ruby-on-rails-3.1

我正在使用这里的twitter gem ... http://rubydoc.info/gems/twitter/2.0.2

我正在尝试使用需要身份验证的方法...... Twitter.home_timeline

http://rubydoc.info/gems/twitter/2.0.2/file/README.md上的rdoc自述文件声明......

某些方法需要身份验证 要获取您的Twitter OAuth凭据,请在http://dev.twitter.com/apps上注册应用程序

我已配置并设置此文件...

Twitter.configure do |config|
  config.consumer_key = YOUR_CONSUMER_KEY
  config.consumer_secret = YOUR_CONSUMER_SECRET
  config.oauth_token = YOUR_OAUTH_TOKEN
  config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end
Run Code Online (Sandbox Code Playgroud)

现在我想要的是,用户来到我的应用程序,能够输入他们的屏幕名称和密码,然后看到他们的实时流和他们的用户的各种很酷的Twitter数据的显示.

请帮忙...我该怎么做?我用什么方法来传递网站访问者的用户名和密码?

......啊,是的,我是铁路菜鸟所以请温柔.

iwa*_*bed 5

我认为你误解了这一切是如何运作的.用户永远不会向您提供他们的Twitter用户名/密码.这是发生的事情:

  1. 用户登录您的网站
  2. 用户单击您在站点上创建的自定义"连接到Twitter"按钮(与身份验证宝石相关联OmniAuth...请参阅此RailsCast以获取更多信息:http://railscasts.com/episodes/241-simple-omniauth )
  3. 用户被带到Twitter,他们登录并(希望)授予您访问其信息的权限
  4. Twitter将用户重定向回您的网站并传回重要用户数据的散列,例如获取其信息所需的访问密钥
  5. 您保存从Twitter传回的相关用户信息,以便您可以访问他们的信息

既然您已经完成了这些步骤并且拥有用户必需的访问密钥(即令牌和令牌密钥),您就可以获得他们的时间线信息:

# Set all necessary auth info
Twitter.consumer_key = TWITTER_CONSUMER_KEY_GOES_HERE
Twitter.consumer_secret = TWITTER_CONSUMER_SECRET_GOES_HERE
Twitter.oauth_token = current_user.token
Twitter.oauth_token_secret = current_user.token_secret

# Get the most recent tweets from the Timeline
most_recent_tweets = Twitter.home_timeline
Run Code Online (Sandbox Code Playgroud)