2010-01-03 136 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