我试图使用Twitter gem
和Twitter REST API将简单图像上传到Twitter。我总是得到以下错误Twitter::Error::BadRequest: Segments do not add up to provided total file size.
Ruby-Twitter Gem - 使用INIT,APPEND和FINALIZE命令上传图像
如果我是正确的,我知道在该过程(FINALIZE)结束时,我上传的图像的大小(在APPEND期间)与我在第一次声明的不一样(在INIT期间)。
这里是我的代码:
file_path = "/Users/folder/image.png"
filesize = File.open(file_path).size
init_request = Twitter::REST::Request.new(TWITTER, :post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&total_bytes=#{filesize}&media_type=image/png").perform
media_id = init_request[:media_id]
Twitter::REST::Request.new(TWITTER, :post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=#{media_id}&media=#{file_path}.png&segment_index=0").perform
Twitter::REST::Request.new(TWITTER, :post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=#{media_id}").perform
任何提示?谢谢!
没有人给我一只手? :) – Eric