一番有名なtwitter gemを利用してRubyでTwitterに画像つきのツイートを投稿するメモ
色んな人がすでに書いているが、どうもやり方が変わってるらしくてできなかった
まずはGemfileにgem "twitter"
に追加して以下
require 'twitter' tw = Twitter::REST::Client.new do |config| config.consumer_key = "" config.consumer_secret = "" config.access_token = "" config.access_token_secret = "" end images = [] images << File.new('gazo.jpg') res = tw.update_with_media("test #{Time.now}", images) puts res
各4つキーにはTwitterで設定したキーを設定する。
update_with_mediaでいいの?
よくあるブログではupload(media)
してからupdate('hello', media_id)
するのがあるが、それをやろうとすると
index.rb:15:in `<main>': private method `upload' called for #<Twitter::REST::Client:0x007f972af350e8> (NoMethodError)
となる。ソースコードを読めばわかるが、 uploadメソッドはprivateメソッド化され、update_with_media()の内部で呼ばれるようになった。つまり外からはupdate_with_media()だけ叩けばよい