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
任意のヒント?ありがとう!
誰が私の手を与えるために: だから、あなたはTwitterの::このようなREST ::要求を使用する必要がありますか? :) – Eric