はてなブックマーク開発ブログ

機能変更、お知らせなど

2006-10-04

(開発者さま向け) 特定サイトの被はてなブックマーク数を取得する XML-RPC API の公開について

はてなブックマークカウンターの公開に合わせて、特定サイトの被はてなブックマーク数の合計値を取得する XML-RPC API を公開しました。任意の URL を指定すると、その URL の被ブックマーク件数が返却される API です。

APIエンドポイント
http://b.hatena.ne.jp/xmlrpc
XML-RPCメソッド名
bookmark.getTotalCount
引数
件数を取得したいURLを指定(複数指定不可)

このAPIを用いてやり取りを行った場合のサンプルは以下のようになります。

リクエスト

xml version="1.0"?>

  bookmark.getTotalCount
  
    
      http://d.hatena.ne.jp/hatenadiary/
    
  

レスポンス

xml version="1.0"?>

  
    
      5268
    
  

サンプルコード (Perl)

API を用いて件数を取得する Perl のサンプルコードは以下のようになります。

#!/usr/local/bin/perl
use strict;
use warnings;
use XMLRPC::Lite;

my $url = shift or die "usage $0 ";
our $EndPoint = 'http://b.hatena.ne.jp/xmlrpc';

my $count = XMLRPC::Lite
    ->proxy($EndPoint)
    ->call('bookmark.getTotalCount', $url)
    ->result;

print $count, "\n";

スクリプト引数URL を与えて実行すると、

% perl get_all_count.pl http://d.hatena.ne.jp/hatenadiary/
5268

と被ブックマーク件数が出力されます。どうぞご利用ください。

はてなブックマークカウンターの提供開始について

本日、「はてなブックマークカウンター」の提供を開始いたしました。はてなブックマークカウンタは任意の"ウェブサイト全体"の被ブックマーク数をカウンター画像として表示する機能です。(なお、"特定の記事"の被ブックマーク数もまた別の方法で表示することができます。詳しくは http://b.hatena.ne.jp/help/count を参照してください。)

例えばこの日記(はてなブックマーク日記)のはてなブックマークカウンターは以下のように表示されます。

はてなブックマークカウンターは、はてなダイアリーはもちろん、はてな以外のブログサービス他でもご利用いただけます。(設置方法は後述します。) どうぞご利用ください。

はてなダイアリーでの設置方法

はてなダイアリーをお使いの方は、はてなブックマークカウンターモジュール(bcounterモジュールをご利用いただくことで、はてなブックマークカウンターを簡単に設置することができます。

日記のヘッダやフッタに

<hatena name="bcounter">

と記述するとご自身の日記のカウンターが出力されます。(はてなグループの bcounter モジュールも現在作成中ですのでいましばらくお待ちください。 公開しました http://hatena.g.hatena.ne.jp/hatenagroup/20061004/1159952015)

はてなダイアリー以外のブログ(ウェブサイト)での設置方法

カウンターを設置したい箇所(テンプレートなど)に以下のHTMLをコピー&ペーストして「ブログURL」と記述された箇所をそのブログURLに変更して保存してください。

ブログURL">ブログのURL" class="bcounter" alt="この日記のはてなブックマーク数" title="この日記のはてなブックマーク数">

注意事項

  • はてなブックマークカウンタの数字は一定時間キャッシュされるため、実際の数字と表示された数字との間で若干のずれを生じる場合があります。
  • 現在のところカウンターの画像は一種類のみになりますが、カラーバリエーションや画像の種類は今後追加していく予定です。

Atom API の動作不具合について

昨日夕方ころよりはてなブックマークAtom API が正しく動作しておらず、投稿や編集に失敗する不具合が発生しておりました。先ほど修正を行いました。ご迷惑をおかけしました。

idea:12382 にてご指摘いただき、ありがとうございました。