所以我有一些代码:
#twitter api access config up here
Twitter.status(27558893223)
我知道我从Twitter.status线获得了所有的推文信息。我想要的不是Ruby对象。我想要那条推文的完整JSON,所以我可以直接使用它来填充我的mongodb实例。我可以获得一些关于如何将该推文对象转换为JSON的帮助吗?
谢谢!
答案 0 :(得分:4)
您无法在Tweet.attrs
上使用JSON.generate方法吗?
答案 1 :(得分:2)
对于班级 Twitter ::推文的一个对象,请使用 .attrs
Twitter.status(27558893223).attrs
对于对象数组,请使用 .map(&:attrs)
Twitter.user_timeline(“[某人的推特名称]”)。地图(&:attrs)
这是一个简单的Sinatra应用程序,可以返回Katy Perry的推文:)
require 'rubygems'
require 'sinatra'
require 'sinatra/jsonp'
require 'twitter'
class TwitterFetcher < Sinatra::Base
helpers Sinatra::Jsonp
@@twitter_client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['consumer_key']
config.consumer_secret = #ENV['consumer_secret']
# config.bearer_token = ENV['bearer_token']
config.access_token = # ENV['access_token']
config.access_token_secret = #ENV['access_token_secret']
end
get '/' do
result = @@twitter_client.user_timeline("katyperry")
jsonp result.map(&:attrs)
end
end
答案 2 :(得分:1)
它主要取决于您希望在数据库中填充的所有列。文档here提到了有关您可以从Twitter::Tweet
获取的所有元素的非常好的信息。
例如,您可以执行下面提到的操作,并将其相应地存储到您的数据库实例中。
Twitter.status(27558893223).source
Twitter.status(27558893223).from_user
Twitter.status(27558893223).from_user_id
Twitter.status(27558893223).lang
或者您可以执行Twitter.status(27558893223).attrs
并相应地处理JSON。
如果我理解错误的话,请告诉我。
答案 3 :(得分:0)
也许以前不存在。
只需在tweet对象中调用.to_json
?
client = Twitter::REST::Client.new(config)
client.status(27558893223).to_json