gpt4 book ai didi

ruby-on-rails - 如何在 Rails 应用程序中设置 Twitter gem?

转载 作者:行者123 更新时间:2023-12-04 05:51:44 26 4
gpt4 key购买 nike

我是一名开发新手,对文档感到有点困惑/不知所措。我想知道如何在 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 就足够了?即,如果我在 gem 文件中需要“twitter”并进行捆绑安装, bundler 会处理我需要的一切吗?

最佳答案

第一个问题,你用的是devise吗?如果你是,这应该更容易,因为我正在使用 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,所以我将它包含在我的 devise.rb 文件中,但是只要它在以下文件中,将它包含在何处并不重要config/initializers 目录。

您一定要看看以下网站:

Omniauth's Github Wiki

The invaluable Railscasts by Ryan Bates

关于ruby-on-rails - 如何在 Rails 应用程序中设置 Twitter gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com