任意の記事のブックマークユーザー数を取得します。
http://api.buzzurl.jp/api/counter/v1/json?url=記事URL&cb=Callback関数名
リクエストパラメータ
| 名前 |
説明 |
| 記事URL |
ブックマークユーザー数を取得したい記事のurlをurlencodeしたもの(最大30個まで複数設定可能) |
| cb |
JSONP(JSON with padding)用のcallbackを指定します(任意) |
レスポンス
| 名前 |
説明 |
| url |
記事のURL |
| title |
記事のタイトル |
| users |
記事をブックマークしているユーザー数 |
サンプル
- リクエスト
-
http://api.buzzurl.jp/api/counter/v1/json?url=http%3A//ecnavi.jp/&url=http%3A//api.buzzurl.jp/&cb=Sample.Callback
- レスポンス
-
Sample.Callback[{
"url" : "http://ecnavi.jp",
"title" : "ECナビ",
"users" : "11"
},
{
"url" : "http://api.buzzurl.jp/",
"title" : "ECナビ人気ニュースβ版 / ニュースに特化したソーシャルブックマーク サービス",
"users" : "4"
}]
- Perlサンプルモジュール
-
package ECNavi::HotNews::API::Counter;
use strict;
use warnings;
our $VERSION = 0.01;
use URI;
use LWP::UserAgent;
BEGIN {
use Carp;
our $HAVE_JSON_SYCK;
eval { require JSON::Syck; $HAVE_JSON_SYCK = 1 };
eval { require JSON } unless $HAVE_JSON_SYCK;
Carp::croak("JSON::Syck or JSON required to use " . __PACKAGE__) if $@;
*_parse_json =
$HAVE_JSON_SYCK ? sub { JSON::Syck::Load($_[1]) }
: sub { JSON::jsonToObj($_[1]) };
}
sub get_users {
my ($self, @urls) = @_;
my $res = _api_request(@urls);
my $json = $self->_parse_json($res);
return @{$json};
}
sub _api_request {
my @urls = @_;
my $api = URI->new('http://api.buzzurl.jp/api/counter/v1/json');
$api->query_form(url =>\@urls);
my $ua = LWP::UserAgent->new;
my $res = $ua->get($api->as_string);
if ($res->is_success) {
return $res->content;
} else {
die $res->status;
}
}
1;
- Perlサンプルプログラム
-
#!/usr/bin/perl
use strict;
use ECNavi::HotNews::API::Counter;
my @urls = (
'http://ecnavi.jp/',
'http://api.buzzurl.jp/',
'http://list.ecnavi.jp/',
);
my @result = ECNavi::API::Counter->get_users(@urls);
for my $res ( @result ) {
print "url : ", $res->{url}, "\n";
print "title : ", $res->{title}, "\n";
print "users : ", $res->{users}, "\n";
print "---\n";
}
- Perlサンプルプログラム実行結果
-
url : http://ecnavi.jp/
title : ECナビ
users : 10
---
url : http://api.buzzurl.jp/
title : ECナビ人気ニュース
users : 10
---
url : http://list.ecnavi.jp/
title : ECナビリスト
users: 10
---
- Javascriptサンプルプログラム
-
<div id="urls_sample"></div>
<script type="text/javascript">
function displayUrls(json) {
var ul = document.createElement('ul');
for (var i = 0; i < json.length; i++) {
var li = document.createElement('li');
var a = document.createElement('a');
a.setAttribute('href', json[i].url);
a.appendChild(document.createTextNode(json[i].title));
li.appendChild(a);
li.appendChild(document.createTextNode(" (" + json[i].users + "users)"));
ul.appendChild(li);
}
document.getElementById('urls_sample').appendChild(ul);
}
</script>
<script type="text/javascript" src="http://api.buzzurl.jp/api/counter/v1/json?url=http%3A//ecnavi.jp/&url=http%3A//api.buzzurl.jp/&url=http%3A//list.ecnavi.jp/&url=http%3A//labs.ecnavi.jp/&url=http%3A//labs.ecnavi.jp/developer/&cb=displayUrls" charset="UTF-8"></script>
- Javascriptサンプルプログラムの実行結果
-