使用Rails将状态上传到Twitter的图像

我正在使用一个名为prepare_access_token的函数来联系Twitter api来执行Read,Write函数。

下面是我用来更新twitter消息的代码

@tweet = "Rails Rails" @access_token = prepare_access_token(@oauth_token, @oauth_secret) @response = @access_token.request(:post, "http://api.twitter.com/1/statuses/update.json", :status => @tweet)
@tweet = "Rails Rails" @access_token = prepare_access_token(@oauth_token, @oauth_secret) @response = @access_token.request(:post, "http://api.twitter.com/1/statuses/update.json", :status => @tweet) 
 def prepare_access_token(oauth_token, oauth_token_secret) consumer_key = Rails.application.config.consumer_key consumer_secret = Rails.application.config.consumer_secret consumer = OAuth::Consumer.new(consumer_key, consumer_secret, { :site => "http://api.twitter.com", :scheme => :header }) # now create the access token object from passed values token_hash = { :oauth_token => oauth_token, :oauth_token_secret => oauth_token_secret } access_token = OAuth::AccessToken.from_hash(consumer, token_hash ) return access_token end 

这适用于没有附加图像的状态更新,但是当我尝试使用下面的图像附件更新状态时

 @access_token = prepare_access_token(@oauth_token, @oauth_secret) @response = @access_token.request(:post, "https://upload.twitter.com/1/statuses/update_with_media.json" , :media => $image , :status => "Status") 

它显示为{"request":"/1/statuses/update_with_media.json","error":"Error creating status."}

我究竟做错了什么? 请建议。

对于消费者:网站,请尝试将其设置为http://upload.twitter.com而不是http://api.twitter.com 。 api站点不支持媒体上传。

与Twitter API的其他REST方法不同,您必须为此POST https://upload.twitter.com/1/statuses/update_with_media.json方法将Content-Type设置为multipart/form-data