【发布时间】:2013-09-02 00:27:36
【问题描述】:
我有一个网站,每天发布一次新闻或博客文章。
我希望新闻/博客项目在发布后直接发布到公司 Twitter 帐户。
网络上的许多指南似乎都与使用 current_user 的 twitter 用户名有关,而我似乎找不到适合我特定工作的指南。
我该怎么做呢?我已经登录 dev.twitter.com 并获得了我的令牌等...
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 twitter
我有一个网站,每天发布一次新闻或博客文章。
我希望新闻/博客项目在发布后直接发布到公司 Twitter 帐户。
网络上的许多指南似乎都与使用 current_user 的 twitter 用户名有关,而我似乎找不到适合我特定工作的指南。
我该怎么做呢?我已经登录 dev.twitter.com 并获得了我的令牌等...
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 twitter
有一个用于处理 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 'twitter' 添加到您的Gemfile 并在终端上运行bundle install。
您可以使用 twitter gem:https://github.com/sferik/twitter
一旦你安装它并设置你的令牌等,你可以在你的文章“发布”方法中做这样的事情:
Twitter.update(self.title)
或者简单地说:
Twitter.update("Just published a new article.")
在您的控制器中。
【讨论】:
如果您只是询问如何在 Twitter 上发帖,请尝试使用可用的 Twitter API gem 之一。
http://sferik.github.io/twitter/ 是您的一种选择。
来自文档:Twitter.update("I'm tweeting with @gem!")
但是,如果您询问如何每天抓取一次博客项目,并且您无法复制该帖子,您可能会抓取网页(但请务必先检查他们的 robots.txt! )。有很多工具可以做到这一点,例如 Selenium 或 Watir,但我个人的偏好是将 Mechanize 用于不涉及 Javascript 的任何事情。
您可以从抓取中存储该消息以供以后使用,并使用 Twitter gem 使用您的凭据发布它!
【讨论】: