Ruby on rails TwitterGem for Rails不会带回推文
我正在为运行在Ruby 2.2.1上的Rails 4.2项目使用。我有以下代码:Ruby on rails TwitterGem for Rails不会带回推文,ruby-on-rails,ruby,twitter,Ruby On Rails,Ruby,Twitter,我正在为运行在Ruby 2.2.1上的Rails 4.2项目使用。我有以下代码: def fetch_aisis_writer_tweets # Cache the tweets and expire after 5 minutes. data = Rails.cache.fetch([:aisis_twitter_feed, Time.now.to_i/60/5], expires_in: 15.seconds){ tweet_array = [];
def fetch_aisis_writer_tweets
# Cache the tweets and expire after 5 minutes.
data = Rails.cache.fetch([:aisis_twitter_feed, Time.now.to_i/60/5], expires_in: 15.seconds){
tweet_array = [];
tweet = twitter_client.search("#AisisWriter").take(10).each do |tweet|
tweet_array.push(tweet)
end
}
render json: data
end
返回一个空的tweet数组。运行twitter\u客户端搜索(“#aiiswriter”).take(10)
不会返回任何结果。然而,如果我们去twitter搜索特定的标签,我们会发现我确实收到了大量包含该标签的tweet
那么,为什么上面的代码返回一个空的tweet数组呢
更新
所以下面有些人建议我使用。因此,我更新了我的代码,使用他们的代码示例和流式api来显示新的数据对象
def fetch_aisis_writer_tweets
# Cache the tweets and expire after 5 minutes.
data = Rails.cache.fetch([:aisis_twitter_feed, Time.now.to_i/60/5], expires_in: 15.seconds){
tweet_array = [];
tweet = twitter_stream.filter(track: '#AisisWriter') do |streamed_tweet|
tweet_array.push(streamed_tweet)
end
}
render json: data
end
但是,唉,什么也没发生,控制台只是显示:
Processing by Api::Internal::TwitterController#fetch_aisis_writer_tweets as */*
页面一直在尝试加载在一天结束时,我只想从这个特定的散列标签中获得最新的10条推文。来自:
在参与之前,重要的是要知道搜索API关注的是相关性而不是完整性。这意味着搜索结果中可能缺少一些推文和用户。如果您想匹配完整性,则应该考虑使用流式API。
这可以解释为什么twitter\u client.search(“aiiswriter”).take(10)
返回一个空数组
twitter\u客户端。搜索
不是流式API端点
假设twitter\u client
被定义为twitter::Streaming::client
对象,那么以下内容应该可以工作(假设有新的tweet与#aiiswriter
:
twitter_client.filter(track: "#AisisWriter") do |object|
puts object.text if object.is_a?(Twitter::Tweet)
end
如果你仔细看看我的设置:我已经创建了流式客户端,在这个例子中有记录。不确定使用不同的gem会有什么帮助,它也没有显示如何进行搜索结果和流式处理结果。你使用的是搜索-这不是流式api的终点。使用过滤器。请查看更新的帖子。这不是工作。它甚至不会向我显示错误。尝试使用更活跃的标签,例如在任何热门趋势中使用相同的标签-
#CWC15
,快乐棕榈周日
,等等。这将显示大量的活动。在#aiiswriter
标签中并没有发生太多事情,而且出于某种原因,该标签中的旧推文不会被删除包括。