【问题标题】:Tweet with twitter gem使用 twitter gem 发布推文
【发布时间】:2015-06-28 14:13:08
【问题描述】:

文档说

config = 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

client.update('Hello, from Twitter Gem!')

但是我应该把它们放在哪里呢? (另外,为什么文档假设每个人都知道把东西放在哪里?)


这样做的有效设计是什么

例如,我在帖子上有一个推特按钮。当点击 twitter 按钮时,我希望它发布该帖子(更不用说处理缩短帖子了)。

我应该将推文client.update('Hello, from Twitter Gem!') 放入新创建的推特控制器的操作中吗?

或者让它成为一个按钮来调用一个带有该推文代码的javascript文件?

我只需要一种有效的方法来让推文按钮正常工作。

【问题讨论】:

    标签: ruby-on-rails twitter


    【解决方案1】:

    我使用了以下设置:

    config/initializers/twitter.rb

    $twitter = 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
    

    然后您可以在您选择的控制器中引用$twitter 变量。您的视图可以向控制器发布消息,您可以进行任何预处理(如果需要),然后调用$twitter.update(message)

    我喜欢这个设置,因为它允许我从任何需要的地方访问我配置的 Twitter 客户端。

    【讨论】:

    • $和不带$的变量有什么区别?
    • 它会以应用所有者的身份发推文,还是会提示任何人登录其推特帐户并将其作为自己的推文发推文?
    • 没有 $ 将是一个常规的局部变量。我们需要它在您的控制器可以看到的范围内可用。至于推文,它将作为所有者发布。具体来说,生成密钥的帐户。
    • 所以您指的是第二组密钥,即应用程序的所有者。第一组键仅用于应用程序连接到 twitter 并查看内容。我真正需要的是登录到他们的推特账户的用户点击我的应用程序上的一个按钮,并通过他们的推特账户从我的应用程序中发布内容。就像 fmylife.com 一样
    • twitter gem 页面说全局变量不是线程安全的。
    【解决方案2】:

    虽然问题是关于文件路径的,而且@danielM 是正确的,但代码已经过时了。这是您需要调用的配置设置方法:Error with Ruby Twitter API

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2013-06-27
      • 2016-06-24
      • 2012-12-31
      • 2021-12-31
      • 2015-10-16
      • 2012-09-05
      • 1970-01-01
      • 2015-04-23
      相关资源
      最近更新 更多