Hatena Developer Blog

はてな開発者ブログ

うごメモはてなの情報取得APIを公開しました

※追記 (04/12 19:30): うごメモはてな情報取得APIの公開を終了しました
※追記 (05/07 20:00): 再提供に伴って最新のAPI情報に合わせて修正しました

こんにちは、id:nitro_idiot です。
本日、うごメモはてなの様々な情報を取得することができるAPIを公開しました。

提供は2013年5月31日のうごメモはてなのサービス終了をもって終了しますが、ユーザ様により自由な形でのデータ保管ができるよう開発・公開しました。

このAPIでは以下の情報を取得することができます。

作品情報
作品の作者や親作品情報、スターなどの評価の数や、FLV・アニメーションGIFのURIなどを取得できます。
ユーザの作品
ユーザが投稿したすべての作品の情報を取得できます。
お気に入り作者
ユーザがお気に入りしているユーザ情報を取得できます。
ファン
あるユーザをお気に入りしているユーザ情報を取得できます。
作品のコメント
ある作品に投稿されたすべてのコメントを取得できます。
うごレター受信箱・送信箱一覧
自分の受信箱・送信箱に入っているうごレターの情報を取得できます。
スター
作品・コメントについたスターの情報を取得できます。

すべてJSON形式で結果を返すので、お好きなプログラム言語をお使いいただけます。

詳しくはHatena Developer Centerの以下のページをご覧ください。

サンプルコード

以下はユーザ情報を取得する各言語でのサンプルコードです。

Perl
use utf8;
use LWP::UserAgent;
use JSON::XS qw(decode_json);

binmode(STDOUT, ":utf8");

my $ua = LWP::UserAgent->new;

sub api_request {
    my ($uri) = @_;
    my $res = $ua->get($uri);

    die $res->status_line if $res->is_error;

    decode_json($res->content);
}

my $movies = api_request('http://ugomemo.hatena.ne.jp/11F9E990AA34FFBC@DSi/movies.json?token={ここにAPIトークンを入れる}');

printf "ピョコライフさんは%d個の作品を投稿しています。\n", $movies->{count};
#-> ピョコライフさんは31個の作品を投稿しています。

初めてのPerl 第6版

初めてのPerl 第6版

  • 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/07/25
  • メディア: 大型本
  • 購入: 7人 クリック: 22回
  • この商品を含むブログ (13件) を見る
Common Lisp
(ql:quickload :drakma)
(ql:quickload :yason)

(defun api-request (uri)
  (multiple-value-bind (body status)
      (drakma:http-request uri :want-stream t)
    (when (> status 399)
      (error (princ-to-string status)))
    (yason:parse body)))

(defvar *movies*
 (api-request "http://ugomemo.hatena.ne.jp/11F9E990AA34FFBC@DSi/movies.json?token={ここにAPIトークンを入れる}"))

(format t
        "~&ピョコライフさんは~D個の作品を投稿しています。~%"
        (gethash "count" *movies*))
;-> ピョコライフさんは31個の作品を投稿しています。

実践Common Lisp

実践Common Lisp

  • 作者: Peter Seibel,佐野匡俊,水丸淳,園城雅之,金子祐介
  • 出版社/メーカー: オーム社
  • 発売日: 2008/07/26
  • メディア: 単行本(ソフトカバー)
  • 購入: 8人 クリック: 192回
  • この商品を含むブログ (69件) を見る

どうぞご利用ください。