読者です 読者をやめる 読者になる 読者になる

Read It Laterの未読リストをはてブに追加するツール書いた

先人が書いたモジュールによりものの数行で書けました。(感謝)

下準備

以下のモジュールをcpanmなどで入れておく

Config::Pit
WebService::Hatena::Bookmark::Lite
WebService::RIL

最後のWebService::RILだけはcpanに置いてなさそうだったので以下のような感じでインストール

%git clone https://github.com/kiririmode/WebService-RIL.git
%cd WebService-RIL
%perl Makefile.PL
%cpanm .

ppit set でRead It Later、はてブのユーザー名、パスワード、(RILはapikeyも)を設定しておく

%ppit set RIL
# "user": "your RIL user name"
# "pass": "your RIL password"
# "apikey": "your RIL API key"

%ppit set hatena
# "username": "your hatena user name"
# "password": "your hatena password"

以上で下準備完了

移行ツール

Read It Laterの未読リストをはてブに追加するツールは以下、至ってシンプル。
自分はRead It Laterでタグ、コメントをつけてないので、ただURLのリストとってきて追加しかしてない。
Config::Pit部分除いたら10行にも満たない:)

use strict;
use warnings;
use utf8;
use Encode;
use Config::Pit;
use WebService::RIL;
use WebService::Hatena::Bookmark::Lite;

my $config_ril = pit_get('RIL');
my $ril = WebService::RIL->new(
    user => $config_ril->{user},
    pass => $config_ril->{pass},
    apikey => $config_ril->{apikey},
);

my $config_hatena = pit_get('hatena');
my $bookmark = WebService::Hatena::Bookmark::Lite->new(
    username => $config_hatena->{username},
    password => $config_hatena->{password},
);

# Read It Laterから未読リストを取得
my $list = $ril->get_list(
    state => 'unread',
);

# Read It Laterの未読URLをはてブに追加
for my $item (@{$list->{'list'}}) {
    $bookmark->add(
        url => $item->{url},
    );
}

githubにもあげた。

deris/simpletools - GitHub

#こういうコード断片はgistに上げたほうがいいのかな?

参考URL

参考というかまんまそのままですが。
Read It Later から直接はてブ登録する - 理系学生日記

わざわざ自分で書いたのは、定期的に追加ではなく、一気に移行したかったのと、はてなブログで記事を書いてみたかったので:)