11 December 2010

(Perl) Net::Twitter::Liteを使って投稿。oAuth対応版

Twitterに投稿しようと思い、CPANライブラリでサンプルを漁っていると、ベーシック認証時代のものが大量に混じっていたりして、紛らわしいことこの上ない。で、2010年末時点で書き込めるoAuth認証対応版のメモ

■ 準備
twitterのサイトにログオンしてから、Twitter Developers 公式サイトのアプリケーション管理画面(http://dev.twitter.com/apps/)へ移動する。

ここで、新しいアプリケーションを登録すると、次の4つのキーが供給される。
・API key
・Consumer secret
・Access Token (oauth_token)
・Access Token Secret (oauth_token_secret)

最後の2個は、画面の右側の所にメニューがあるので、そこを押せば表示される。
(Amazonクラウドの管理画面より分りにくい…。デザイン悪すぎ)

20101211-twitter-key.jpg

プログラムは、日本語を通す場合、UTF-8でUTF-8フラグ付きじゃないとダメなようなので、そこのところ注意

#!/usr/bin/perl # << save this script in UTF-8 >> use strict; use warnings; use Net::Twitter::Lite; use Encode; my $cs_key = 'cJkduHUnueKSUrfkyekVH'; my $cs_secret = 'ceOCHUxmeiDEIVAleoDED7mUxg64R5Eieveso'; my $ac_token = '298315889-ceoDEmpeov3AWEOUQKaOMYWcemPwd30mVsZWcelC'; my $ac_secret = 'mexWInZljc30MWIisSMW0KXWsYgs'; my $nt = Net::Twitter::Lite->new( # username => $user, ← ベーシック認証時はこれでよかった # password => $password, consumer_key => $cs_key, consumer_secret => $cs_secret ); $nt->access_token($ac_token); $nt->access_token_secret($ac_secret); my $result = $nt->update({status => decode('utf8','日本語でperl net::twitter::liteから投稿')}); print Dumper $result; print "\n";