#!/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 => 'xxxxxxxxxxxxxxxxxxxxxxx', consumer_secret => 'xxxxxxxxxxxxxxxxxxxxxxx', ssl => 1, ); $twit->access_token ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); $twit->access_token_secret('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); my $array_ref = $twit->blocking(); #print Dumper $array_ref; foreach my $hash_ref(@$array_ref){ print "$hash_ref->{'screen_name'}\n"; } exit; __END__
できた。
これでブロックしているユーザの一覧が表示される。WindowsXPで、ActivePerlをインストールして、Net::Twitterをインストールしておいて、Twitterのホームページでアプリケーションの登録をして、cosumuer_keyとかはその結果を書く。酒を飲みながらいろいろサーチしながら、すぐできました。
次は、これらのユーザのブロック解除ですね。
#!/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 => 'xxxxxxxxxxxxxxxxxxxx', consumer_secret => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', ssl => 1, ); $twit->access_token ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); $twit->access_token_secret('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); my $array_ref = $twit->blocking(); foreach my $hash_ref(@$array_ref){ $twit->destroy_block($hash_ref->{'id'}); } exit; __END__
blockしているユーザを取得するまでは同じで、それに対して destroy_block をするだけ。ただし、このときの引数はscreen_nameではなくてidです。いいなあ、twitter。今回の震災でも、強さがはっきりわかりました。apiを公開するかどうかが、流行るかどうかですね。こんな感じで、followしている・されているユーザの一覧、followされてるユーザ全員のfollow, followしているユーザ全員のunfollowなども一瞬でできる。