Rubyでつぶやく

教科書のサンプルコードをひたすらうつしては実行している。
「そろそろ、調べながら何か自分でつくってみたら?」ということで
RubyプログラムからTwitterへ投稿してみよという課題が。

けっきょく(自分一人で調べてではなく)先生に教わりながら
どうにかできたので、忘れないうちにメモ。。

思い出せるかな。。


参考URL

Ruby Twitter Gemを使ったらTwitter botが9行で書けた - 方向


ここでまず「Twitter.configure」て?「Ruby Twitter Gem」て?
教科書でみたことない言葉ばっかり。

RubyGems というところに、大先輩たちの知恵がたくさんつまっているそうです。
その素敵な知恵を拝借してプログラム書いたりできるんだって。
すごーい。
オープンソース

そのGemsのなかにTwitterのもあって、それをインストールすると
簡単にTwitterに投稿できるプログラムが書けちゃうそうな。

ということでまずはそのGemをインストールしないといけない。


ターミナルでインストール

sudo gem install twitter

ていれてみたらエラー。

multi_json requires RubyGems version >= 1.3.6
てでてきて、gemのアップデートが必要でした。

sudo gem update --system

うまくいったらあらためてtwitterのgemをインストール。


Twitter Developers で認証コードを取得

Twitter Developer Platform — Twitter Developers

=>Create an app でとうろく。
Application Type で Access は 「Read and Write」にチェック。

取得して、下記に入れ込みました。

#!/usr/bin/ruby

require 'rubygems'
require 'twitter'

MultiJson.engine = :ok_json

Twitter.configure do |config|
  config.consumer_key = '*****'
  config.consumer_secret = '*****'
  config.oauth_token = '*****'
  config.oauth_token_secret = '*****'
end 

Twitter.update("test")

ちゃんと、「test」て投稿できてました!!
この瞬間ちょっと興奮したー

他にもいろいろ取得できるらしい。

Route 477

botのしくみがわかったような!

ちなみに

MultiJson.engine = :ok_json
を書かないと

Warning: multi_json is using default ok_json engine. Suggested action: require and load an appropriate JSON library.

て出ます。

警告出てもきちんと動いて、つぶやきは投稿されるけれど、
出ている警告は処理しておくほうがいいみたい。


ついでにはてなダイヤリーの記法チェックもしてもらったから、
コードに色がついてるね!
やたー