stMind

You'll never blog alone

readitlaterのAPIを使うテスト

readitlaterでこれまでどれだけの記事を読んだのか調べてみました。

Retrieve a User's List

APIのドキュメントはこちら。Read It Later: Developer API: Documentation

  • Method URL
  • Parameters
    • 必須なのはapikey, username, password
    • 今回はこれまでに読んだ記事のリストが取得したいのでstate=readを指定
https://readitlaterlist.com/v2/get?username=name&password=123&apikey=yourapikey&state=read
  • レスポンスはjsonもしくはxmlで返ってくる
    • listの中にitem_id単位で各記事が格納されてる

実装

WebService::SimpleでGETリクエストを送信、返ってきたjsonのlistのキーを数えて出力する。

#!perl

use strict;
use warnings;

use Config::Pit;
use WebService::Simple;

my $conf = pit_get("readitlater.com", require => {
    "APIKey" => "API key on readitlater.com",
    "username" => "your username on readitlater.com",
    "password" => "your password on readitlater.com"
});

my $service = WebService::Simple->new(
    base_url => 'https://readitlaterlist.com/v2/get',
    param => { apikey => "$conf->{APIKey}",
               username => "$conf->{username}",
               password => "$conf->{password}"
           },
    response_parser => 'JSON'
);

my $res = $service->get( { state => 'read' } );
my $json = $res->parse_response;
my $read_num = keys $json->{list};
print "Read $read_num items.\n";

RILDev/read_get.pl at master · satojkovic/RILDev · GitHub

結果

$ perl read_get.pl
Read 932 items.

もう少しで1000だ。