2012/05/30

ソーシャル化したbit.lyの恥ずかしいリンクの消し方 - ぼくはまちちゃん!(Hatena)

こんな記事がありました! Big Sky :: bit.ly がソーシャルに生まれ変わって、皆とっても恥かしい事になる...

http://d.hatena.ne.jp/Hamachiya2/20120530/bitly
既に800件以上あるのでやってられなかったの巻。
今年も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入れた方がいいと思うよ(最初から入れろコラ)。
Posted at 15:14 | WriteBacks () | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.






















A quick preview will be rendered here when you click "Preview" button.