Ruby のコマンドライン引数を使って Twitter に投稿

■2012.5.26 追記
自分は英字の前後に半角スペースを入れて投稿するため、そうなってもよしなに投稿できるように修正しました。

    • -

ほぼ写経

# coding: utf-8

require 'rubygems'
require 'oauth'

tweet = ARGV.join(" ")

consumer_key = '{consumer_key}'
consumer_secret = '{consumer_secret}'
access_token = '{access_token}'
access_token_secret = '{access_token_secret}

consumerObj = OAuth::Consumer.new(
    consumer_key,
    consumer_secret,
    :site => 'http://twitter.com'
)

accessObj = OAuth::AccessToken.new(
    consumerObj,
    access_token,
    access_token_secret
)

accessObj.post(
    '/statuses/update.json',
    'status' => tweet,
    'source' => '{source}'
)

適当なファイル名 (ex: tweet.rb) で保存して、下記のコマンドで実行する。

$ ruby tweet.rb つぶやき内容

引数で渡した文字列がつぶやきとして Twitter に投稿されれば成功。