我試圖使用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