如何使用grackle gem在rails 3.2中找到主题标签

时间:2013-12-04 07:55:15

标签: ruby-on-rails twitter ruby-on-rails-3.2 twitter-oauth grackle

我正在使用grackle gem来获取有关rails 3的推文。我能够获取推文并在视图中显示它们。现在我想使用这个gem搜索主题标签。可能吗。如果是,那么请告诉我如何因为我已经注册到twitter API并获得了秘密令牌,我仍在尝试修改代码以便获取主题标签,我已经使用了twitter API并且我能够获取输出,但如何在我的工作代码中修改/实现它。

我的tweet.rb文件

  Class Tweet < ActiveRecord::Base

  require 'grackle'
  require 'twitter'
  require "rubygems"
   MY_APPLICATION_NAME = "mike1011"


attr_accessible :content, :created


 ####Connect to the Twitter API and pull down the latest tweets"""
  def self.get_latest 
   ##the call to twitter api works but how to modify this further to use the search            api**
    tweets = client.search.home_timeline? :screen_name => MY_APPLICATION_NAME # hit the API

    ##this works on twitter console    
    ##https://api.twitter.com/1.1/search/tweets.json?q=%23haiku


  end

  private
  def self.client
    Grackle::Client.new(:auth=>{
      :type=>:oauth,
      :consumer_key=>'xxxxxxxxxxxxxxx',
      :consumer_secret=>'xxxxxxxxxxxxxxx',
      :token=>"2227985911-xxxxxxxxxxxxxxxxxx",
      :token_secret=>"xxxxxxxxxxxxxxxxxxx"
    })

  end   
end

我的视图文件,我希望用户使用搜索按钮和文本框中填写的值搜索主题标签

<fieldset style="height:auto;width:auto">
<%= text_field_tag 'Search', 'Enter your hashtags'%>
<%= button_tag(type: 'button') do
  content_tag(:strong, 'Search in twitter!',:id=>"search_button")
end
%>

</fieldset>

1 个答案:

答案 0 :(得分:0)

是的,有可能。如果您不打算将推文保存到数据库中,最好创建一个api,这样您就可以从任何地方调用它或将它全部放在控制器中。

这样做的好处是您可以使用参数。

查看我的代码:https://github.com/eflores1975/stock-dashboard/blob/master/app/controllers/tweets_controller.rb

基本上它将推文加载到数组然后使用ActiveSupport :: JSON.decode我将它转换为可消耗的对象并开始按摩它以满足我的需要。

最后,我可以将它用作: http://gentle-tor-3942.herokuapp.com/tweets/get_tweets?symbol= $ AAPL

其中symbol = $ aapl是我要查找的哈希标记。