繁体   English   中英

如何从twitter.com捕获响应? (红宝石+ Twitter宝石)

[英]how can I capture response from twitter.com? ( ruby + twitter gem)

如何从twitter.com捕获响应? 确保一切正常?

我正在使用ruby和ruby twitter gem ,我的代码基本上是这样的

oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
oauth.authorize_from_access('access token', 'access secret')

client = Twitter::Base.new(oauth)
client.update('Heeeyyyyoooo from Twitter Gem!')

update twitter api方法将发送回响应,让您知道一切正常。 它可以使用json或xml进行响应,我确定twitter gem使用默认的一个。 您需要将返回值保存到变量中并进行解析,如果那里有状态ID,则它可以工作。 尝试使用令牌或密码检查错误时会发生什么。 我建议将您的最后一行更改为此

ret = client.update('Heeeyyyyoooo from Twitter Gem!')

然后在下面添加此行以查看您得到了什么

puts ret.inspect

要么

logger.info ret.inspect

或您选择的记录方式

[编辑]看起来twitter宝石隐藏了您对twitter api的实际响应,为您解析了它,只是返回了相关位。 对于update方法,它仅返回您新推文的ID。 您可以这样查看ID

puts ret.id

如果您使用另一个库连接到twitter api,并且需要解析xml或json响应,那么此答案的其余部分可能就是您想要的。 [/编辑]

如果您使用的不是为您解析Twitter api响应的gem,那么您将需要使用某些东西来将twitter api的响应解析为可以用来处理数据的数据。 有多种方法可以执行此操作,具体取决于您要解析的格式(json或xml)

我的偏好:

这是有关twitter api更新方法返回的信息的更多信息: http : //apiwiki.twitter.com/Twitter-REST-API-Method : -statuses%C2%A0update

这对我有用...

begin   
  resp = Twitter.update(params[:message])
rescue Exception => e
  # e.message contains the twitter response      
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM