2010年10月3日日曜日

【Perl】Twitterのお気に入りを全削除するスクリプト

作成したスクリプト
(#Consumer key#や#Access Token#を書き換えて実行)
——————————————————————————————

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Net::Twitter;
my $twit = Net::Twitter->new(
    traits => [qw/API::REST OAuth WrapError/],
    consumer_key    => '#Consumer key#',
    consumer_secret => '#Consumer secret#',
    ssl => 1,
);
$twit->access_token('#Access Token#');
$twit->access_token_secret('#Access Token Secret#');
while (1) {
    my $ref_favs = $twit->favorites; #最新のお気に入りを20件取得
    unless (@$ref_favs) { #お気に入りがない場合はループ脱出
        last;
    }
    foreach my $ref_fav (@$ref_favs) {
        $twit->destroy_favorite($$ref_fav{'id'}); #お気に入りを削除
        print $$ref_fav{'id'}, "\n"; #削除したツイートのIDを表示
    }
}
exit;
——————————————————————————————


準備
・Net::Twitterのインストール
・Twitterにアプリケーション登録
下記リンク参考
MacOS10.6.2(Snow Leopard)のPerlで Net::Twitterを動かす:FuruFuruのblog:So-net blog
http://furufuru.blog.so-net.ne.jp/2010-03-22
実用! PerlでコマンドラインからTwitter投稿(OAuth対応) - perl-mongers.org
http://perl-mongers.org/2010/06/_perltwitteroauth.html


スクリプトの作成
Net::Twitterの説明を参考に作成
http://search.cpan.org/~mmims/Net-Twitter-3.13009/lib/Net/Twitter.pod
使用したメソッドはfavoritesとdestroy_favorite
・favorites
 最新のお気に入りを20件取得。戻り値はArrayRef。
・destroy_favorite
 お気に入りを解除。引数にツイートIDを指定。