2010-01-03 135 views
3
def post_to_twitter 
message = from some where 
url = URI.parse('http://twitter.com/statuses/update.xml') 
req = Net::HTTP::Post.new(url.path) 
req.basic_auth 'account', 'password' 
req.set_form_data({'status' => message}) 
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) } 
case res 
when Net::HTTPSuccess, Net::HTTPRedirection 
    # ok 
else 
    # false 
end 

end 

这是twitter更新的代码,当我通过这个动作发布一些更新到twitter时,总会是错误的。如何更新twitter中的推文

我可以知道哪里出错了吗?

回答

11

我建议你使用Twitter宝石

使用你的API,你只需要做:

httpauth = Twitter::HTTPAuth.new('username', 'password') 
client = Twitter::Base.new(httpauth) 
client.update('Heeeeyyyyooo from the Twitter Gem') 

而且使用OAuth(我强烈建议):

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!') 
+1

任何暗示使用OAuth将图片上传到Twitter? – balanv 2012-07-10 06:08:46