【问题标题】:How to set up the Twitter gem in rails app?如何在 Rails 应用程序中设置 Twitter gem?
【发布时间】:2012-01-22 20:22:17
【问题描述】:

我是一名新手开发人员,对文档有点迷惑/不知所措。我想知道如何在 Rails 3.1 应用程序中实现 Twitter gem。

  1. 我已经安装了 gem 并且知道我需要对其进行配置,但是我应该将这些配置信息放在 rails 应用程序的什么位置? 是否需要以某种方式对其进行更改以使其与 rails 应用程序同步?

    Twitter.configure do |config|
      config.consumer_key = ENV['CONSUMER_KEY']
      config.consumer_secret = ENV['CONSUMER_SECRET']
      config.oauth_token = ENV['ACCESS_TOKEN']
      config.oauth_token_secret = ENV['TOKEN_SECRET']
    end
    
  2. 我必须在任何地方都需要“twitter”吗?

  3. 如果我希望我的应用程序的访问者从我的应用程序更新他们的状态,我是否必须安装 Omniauth?还是这颗宝石就足够了?即,如果我在 gem 文件中需要 'twitter' 并进行捆绑安装,捆绑器会处理我需要的一切吗?

【问题讨论】:

    标签: ruby-on-rails twitter


    【解决方案1】:

    第一个问题,您使用的是设计吗?如果你是,这应该更容易,因为我正在使用 devise + omniauth + twitter 构建我自己的应用程序。如果您不是,即使我自己是一名新手 Rails 开发人员,我也会尝试引导您走上正确的道路。

    首先,您应该有一个 Twitter 帐户。然后您应该登录 here 并创建您的应用程序。在那里,在Settings 选项卡中,您可以选择您希望用户的 Twitter 帐户的访问类型或权限。就我而言,我使用的是Read only,也就是说,我只使用 Twitter 进行身份验证。由于您可能希望您的用户更新他们的状态,您可能需要查看其他 2 个选项:Read and WriteRead, Write and Access direct messages。您还应该定义一个回调 URL,这是 Twitter 在成功验证后返回的位置。然后你有几个装饰选项来美化你的 oauth 对话框。 在 Details 选项卡中,您会找到您的 Consumer keyConsumer secret,您永远不应透露它们,并且您将在 Rails 应用程序中需要它们。

    在您的应用中,您应该包含这些 gem(然后运行 ​​bundle install):

    #Gemfile
    gem 'omniauth'
    gem 'omniauth-twitter'
    

    然后,在您的初始化程序中,您应该创建一个名为 omniauth.rb 的文件(您可以随意调用它,但这是标准),其中包含以下内容:

    #config/initializers/omniauth.rb
    require 'omniauth-twitter'
    config.omniauth :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
    

    在我的例子中,由于我使用的是设计,所以我将它包含在我的 devise.rb 文件中,但只要它在 config/initializers 目录中的文件中,你将它包含在哪里并不重要。

    您绝对应该看看以下网站:

    Omniauth's Github Wiki

    The invaluable Railscasts by Ryan Bates

    【讨论】:

      猜你喜欢
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      相关资源
      最近更新 更多