ソーシャル化したbit.lyの恥ずかしいリンクの消し方 - ぼくはまちちゃん!(Hatena)既に800件以上あるのでやってられなかったの巻。
こんな記事がありました! Big Sky :: bit.ly がソーシャルに生まれ変わって、皆とっても恥かしい事になる...
http://d.hatena.ne.jp/Hamachiya2/20120530/bitly
今年もYAPC::Asiaは盛り上がりそうですね。僕行った事無いけど...
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;
use Config::Pit;
use JSON;
my $config = pit_get('bit.ly', require => {
username => 'username on bit.ly',
password => 'password on bit.ly',
});
my $req = HTTP::Request->new(
POST => 'https://api-ssl.bitly.com/oauth/access_token');
$req->authorization_basic(
$config->{username},
$config->{password},
);
my $ua = LWP::UserAgent->new;
$ua->env_proxy;
my $res = $ua->request($req);
my $access_token = $res->decoded_content;
my $offset = 0;
my $base_url = "https://api-ssl.bitly.com";
my $url = "$base_url/v3/user/link_history?access_token=$access_token&limit=100";
while (1) {
my $history = from_json $ua->get("$url&offset=$offset")->decoded_content;
my @items = @{$history->{data}->{link_history}};
last unless scalar @items;
for my $item (@items) {
unless ($item->{private}) {
my $link = $item->{long_url};
print "$link\n";
#$res = $ua->get(
# "$base_url/v3/user/link_edit"
# ."?access_token=$access_token&link=$link&edit=private"
# ."&private=true");
}
}
$offset += 100;
}
コメント外したらprivateになる予感。試したこと無いので誰か試して...
あとsleep入れた方がいいと思うよ(最初から入れろコラ)。