※このAPIは非推奨です。現在は http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%b0%a5%e9%a5%d5api のAPI をご利用ください。
本ドキュメントははてなグラフにおける、『グラフデータ登録API』の実装を解説するものです。主にはてなスタッフがその作成と更新を行っています。
任意のグラフ名、日付、データをPOSTリクエストにより送信することで、グラフの作成、データ追加を行うことの出来るAPIです。
このAPIでは、ユーザー認証にWSSE認証を使用しています。WSSE認証の詳細に関しては、はてなフォトライフAtomAPIのWSSEの項 (http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%d5%a5%a9%a5%c8%a5%e9%a5%a4%a5%d5AtomAPI?kid=88110#wsse) を参照してください。
エンドポイントURIに対し、application/x-www-form-urlencodedのデータをPOSTしてください。
エンドポイントは次のURIです。
使用可能なキーは以下の通りです。
- graphname
- グラフの名前(UTF-8)
- date
- YYYY-MM-DD形式の日付(省略可:省略時は今日の日付)
- value
- グラフの値
指定されたグラフ名に該当するグラフが存在しない場合はグラフ作成を行った後データ追加、存在する場合は該当日付のデータ上書きを行います。
また、dateが省略された場合は、登録時の日付が自動で設定されます。
リクエストの成否は、レスポンスコードを参照してください。正しく作成された場合は201が返ります。
認証にはLWP::Authen::Wsseを使用しています。
#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use DateTime; my $ua = LWP::UserAgent->new; $ua->credentials('graph.hatena.ne.jp:80', '', 'username', 'password'); my $res = $ua->post( 'http://graph.hatena.ne.jp/api/post', { graphname => 'graphname', date => DateTime->now->ymd, value => rand(10) }); warn $res->content unless $res->code == 201; exit;
gem から Hatena::API::Graph パッケージをインストールします。
# gem install hatenaapigraph
require 'rubygems' require 'hatena/api/graph' graph = Hatena::API::Graph.new('username', 'password') graph.post('graphname', Time.now, rand(10))
tar からインストールしたい場合は
http://rubyforge.org/projects/hatenaapigraph/
からどうぞ。
※ruby は 1.8.4 以降のバージョンを利用する必要があります。