【问题标题】:Posting to a Twitter account from a Rails 3 application从 Rails 3 应用程序发布到 Twitter 帐户
【发布时间】:2013-09-02 00:27:36
【问题描述】:

我有一个网站,每天发布一次新闻或博客文章。

我希望新闻/博客项目在发布后直接发布到公司 Twitter 帐户。

网络上的许多指南似乎都与使用 current_user 的 twitter 用户名有关,而我似乎找不到适合我特定工作的指南。

我该怎么做呢?我已经登录 dev.twitter.com 并获得了我的令牌等...

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 twitter


    【解决方案1】:

    有一个用于处理 Twitter API 的 rails gem:https://github.com/sferik/twitter

    过程非常简单,您只需创建一个 Twitter APP 并获取 APP_TOKEN 和 APP_SECRET 以及您公司的 Twitter USER_TOKEN 和 USER_SECRET。之后,您可以配置 Twitter gem。

    config/initializers/twitter.rb:

    client = Twitter::REST::Client.new do |config|
        config.consumer_key = "YOUR_APP_CONSUMER_SECRET"
        config.consumer_secret = "YOUR_APP_CONSUMER_SECRET"
        config.access_token = "A_USER_ACCESS_TOKEN"
        config.access_token_secret = "A_USER_ACCESS_SECRET"
    end
    

    完成此操作后,您只需在刚刚创建的客户端上调用“update”方法,然后将帖子发送到 Twitter 上的用户提要:

    client.update("Article Lorem Ipsum...")
    

    请记住,消息长度限制为 140 个字符。

    【讨论】:

    • 如果您不知道如何正确安装 gem。您只需将gem 'twitter' 添加到您的Gemfile 并在终端上运行bundle install
    • 谢谢,这正是我所追求的
    • 希望它对你有用,如果你有任何问题,请随时给我发消息。
    • 我这样做时得到未定义的局部变量或方法`client',有什么建议吗?
    • 发现我需要将'client'设置为全局变量:$client
    【解决方案2】:

    您可以使用 twitter gem:https://github.com/sferik/twitter

    一旦你安装它并设置你的令牌等,你可以在你的文章“发布”方法中做这样的事情:

    Twitter.update(self.title)
    

    或者简单地说:

    Twitter.update("Just published a new article.")
    

    在您的控制器中。

    【讨论】:

      【解决方案3】:

      如果您只是询问如何在 Twitter 上发帖,请尝试使用可用的 Twitter API gem 之一。

      http://sferik.github.io/twitter/ 是您的一种选择。

      来自文档:Twitter.update("I'm tweeting with @gem!")

      但是,如果您询问如何每天抓取一次博客项目,并且您无法复制该帖子,您可能会抓取网页(但请务必先检查他们的 robots.txt! )。有很多工具可以做到这一点,例如 Selenium 或 Watir,但我个人的偏好是将 Mechanize 用于不涉及 Javascript 的任何事情。

      您可以从抓取中存储该消息以供以后使用,并使用 Twitter gem 使用您的凭据发布它!

      【讨论】:

      • 这不是我想要的,但我一定会调查一下——谢谢!
      猜你喜欢
      • 1970-01-01
      • 2014-06-07
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2015-08-05
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多