メッセンジャーのステータスを使って、今何をしているか、を伝えるのはよくやっていた。特に自分の場合ひとにかまってほしいほうなのでこの手のやつに人気が出るのはうれしい。twitterは、メッセンジャーのステータスのログがブログとして残って、ともだちのステータスが一覧で見られる、ようなサービスです。Tumblr 小さくてきれいなブロギングツール で書いていた Tumblr とおんなじように、ほんの少しの手間でほんの少しのエントリを投稿して、そのときの気持ちのような空気のようなものを伝えることができます。
そんなちょっとしたことをポストするのに、わざわざtwitterのサイトに行って今何をしているのか書くなんてオーバーヘッドが大きすぎる!というわけで Bin-Blog: Using Twitter, Part 1 - Command Line Twitter Client でコマンドラインからtwitterへポストする方法が載っていました。 エントリによるとAfter I saw that API, I realized that I don't need to do any coding to create the application - I just need to use the curl command. curl is a tool to transfer data from or to a server.というわけで、twitterに用意されているAPIをcurlから呼び出してポストするようになっています。
#!/bin/sh
ID=ku
PASS=*****
curl -s --basic --user "$ID:$PASS" --data-ascii "status=$*" "http://twitter.com/statuses/update.json"
こんなシェルスクリプトを作ってtwitterのIDとパスワードを設定して(パスワードを生で直接書くことになるのでパーミッションは700にするべきです)
% twitter editing command line twittering blog post...コマンドラインで内容をコマンドの引数として書いてあげればtwitterのページに反映されます。 日本語を入れたい場合もは Twitterで日本語を入力する方法 : akiyan.com にあるとおり少し注意がいるものの、コマンドラインからでもUTF-8で入力すれば反映されます。(シェルスクリプトの中でスペースを入れる処理をつけてもいいですね) ただ、ひとつ問題なのは、けっきょくともだちのtwitterを見るにはブラウザを起動しないといけないというところ。上のスクリプトは単純にJSONPで結果を返してくるので
{"created_at":"Tue Apr 03 06:57:44 +0000 2007","id":18261791,"text":"editing command line twittering blog post...","user":{"profile_image_url":"http:\/\/static.twitter.com\/system\/user\/profile_image\/1849181\/normal\/sunflower_prtlait_me.jpg?1174549919","name":"KUMAGAI Kentaro","description":null,"location":nullこんなのがかえってくるだけでともだちのは見られません....
とはいえ、APIリストを見るともちろんともだちのtwitterを取得するもの http://twitter.com/statuses/friends_timeline.json もあるので、これで取得した結果を整形して出力すれば見ることができます。コマンドラインで整形するならXMLのほうが楽かもしれません。
というわけでよかったらtwitterでkuのともだちになってください!
トラックバック元エントリにこのエントリへのリンクがない場合はトラックバックを受け付けません。
http://labs.gmo.jp/mt/mt-tb.cgi/118
comments