Thursday, 27 June 2013

Twitter のAPI 変更。

いまさらな話題ですが。古いAPIが6/1で使えなくなるとかで、iPhone の Soicha が死んでました。位置情報を入れる時にだけ使っていんだけどな。代わりに何を使うかは考え中。

https://dev.twitter.com/blog/api-v1-retirement-final-dates

そういえば、command line から投稿する script を使っていたのだった。というわけなので、試してみると、

HTTP 410 Gone

あらら。Perl の Net::Twitter::Lite を使っていたんですけどね。ハッカソンで、Facebook のnoteを MH から投稿する script を書いた時に、Twitter も同じようにできるなと思って作ったのが、これ。

もとの CPAN を見てみると、新しい版がある。cpan -i Net::Twitter::Lite で、問題なくinstallできたんですが、やっぱり動かない。

でも、それっぽい module あったんだけどなぁ。と思って、

/Library/Perl/5.12/Net/Twitter/Lite/WithAPIv1_1.pm

を見ると、いや、
     perldoc Net::Twitter::Lite::WithAPIv1_1

とすると、
         use Net::Twitter::Lite::WithAPIv1_1;
         my $nt = Net::Twitter::Lite::WithAPIv1_1->new(
             consumer_key        => $consumer_key,
             consumer_secret     => $consumer_secret,
             access_token        => $token,
             access_token_secret => $token_secret,
         );

         my $result = $nt->update('Hello, world!');


と書いてあるし。なんだ、自分の script の方を書きなおせと。はいはい。それで無事に動きました。めったに使わないんだけどね。xterm 上で作業している時にコピペで書き込みたい時とか、iPhone に持ち帰るのが面倒な時とか、それくらい。

この手の互換性の問題は微妙なところだよね。明示的に API 1.1 とするのが良いのか、勝手に 1.1 対応にするのが良いのかは。この前は、Twitter 側の設定をいじったはず。

Twitter 関連のサービスを作っている人たちは、こういうのに間に合うように付いていかないといけないんだよな。ご苦労様です。

No comments: