はてなブックマークを初期化
はてなブックマークは、自分のアカウントではプライベートで使ってた。だけど、Twitterと連携させてみたいと思ったので、今までのブックマークを隠したいと。ただ、個別にプライベートにできないようで、今までのブックマークを削除しようと。機能的には用意されていないようなので、自分で削除しなきゃいけないんだけど、数も多いし、手作業ではどうにもならなさそうだった。
API 経由でできそうだと思ったけど、どうせ車輪の再発明になりそうだということで、Googleで検索してみるとやはり存在した。koshigoewiki:はてな:はてなブックマーク [KoshigoeWiki]にスクリプト(Perl)が公開されてます。備忘録に、如何に手順等を残しておきます。
自分の Ubuntu Server が入った VPS サーバにて実行してみた。XML::Atom が必要なので、以下のコマンドを実行してインストールしておく必要がある。
$ sudo apt-get install libxml-atom-service-perl
#!/usr/bin/perl -w use strict; use XML::Atom::Client; my = "http://b.hatena.ne.jp/atom"; my = . "/post/"; my = . "/edit/"; my = . "/feed"; my $USER = "KoshigoeBushou"; my $PASS = "x2tnx8"; # Initialize my $api = XML::Atom::Client->new; $api->username($USER); $api->password($PASS); my $recentFeed = $api->getFeed(); my @eidList = getEIDList($recentFeed->as_xml); while (scalar @eidList > 0) { foreach my $eid (@eidList) { print "[DELETE] eid:$eid/" . $api->deleteEntry( . $eid) . ".¥n"; } $recentFeed = $api->getFeed(); @eidList = getEIDList($recentFeed->as_xml); } ## sub getEIDList { my $feed = shift; my @lines = split("¥n", $feed); my @eidList = (); foreach my $line (@lines) { if ($line =~ /rel¥=¥"service.edit¥"/) { $line =~ /href¥=¥".+¥/edit¥/([0-9]+)¥"/; push(@eidList, $1); } else { } } return @eidList; }
で、
$ perl test.pl
を実行しました。