RESTなWebサービスをPHPで操作する

2010年1月19日(火)
藤本 壱

ブックマークの編集

既存のブックマークを編集することもできます。それには、「http://b.hatena.ne.jp/atom/edit/ページのID」にPUTプロトコルでアクセスします。ページのIDは、ブックマークを追加したときに得られたID(数値)を使います。

また、アクセスの際には、リスト5のようなXMLを送信します。タイトルとコメントはどちらかを省略することができます。
--------------------------------------------------------------------------------
【リスト5】 ブックマークを編集する際に渡すデータ

     ページのタイトル
     

コメント

--------------------------------------------------------------------------------

ブックマークのコメントを編集するプログラムを作ると、リスト6のようになります。5行目の「ページのID」と6行目の「コメント」を書き換えると、動作を試すことができます。
--------------------------------------------------------------------------------
【リスト6】 ブックマークのコメントを編集するプログラム
require_once 'HTTP/Request.php';
require_once 'auth_wsse.php';

$eid = ページのID;
$comment = 'コメント';
$req =& new HTTP_Request("http://b.hatena.ne.jp/atom/edit/${eid}");
$req->setMethod(HTTP_REQUEST_METHOD_PUT);
set_auth_wsse($req);
$postdata =
     

${comment}

HERE;
$req->addRawPostData($postdata);
if (PEAR::isError($req->sendRequest())) {
     exit('通信エラーが発生しました');
}
$code = $req->getResponseCode();
if ($code == 200) {
     print "ブックマークの編集に成功しました";
}
else {
     print "エラーが発生しました:コード = ${code}\n";
}
?>
--------------------------------------------------------------------------------

このプログラムでは、7行目と8行目によって、「http://b.hatena.ne.jp/atom/edit/ページのID」にPUTプロトコルでアクセスするようにしています。

このプログラムを実行した後、はてなブックマークにログインして、編集後のブックマークを見てみると、コメントが変わっていることが分かります(図3)。

今回のまとめ

ここまでで見てきたように、はてなブックマークでは、AtomAPIで通信するプログラムを作ることによって、ブックマークの追加や編集を行うことができます。

今回は、プログラム言語としてPHPを使いました。しかし、PHPだけでなく、ほかの言語ではてなブックマークにアクセスしてブックマークを操作することもできます。例えば、Visual BasicやVisual C++を使って、はてなブックマークを操作するためのWindows用のデスクトップ・アプリケーションを作る、といったことも可能です。

また、今回はスタンド・アローンのプログラムを作りましたが、既存のシステム用にブックマーク操作を行う拡張機能を作ることも考えられます。例えば、ブログに記事を投稿すると同時に、その記事を自動的にブックマークする、といった拡張機能を作ることが考えられます。

このように、RESTで操作できるWebサービスは、ほかのプログラムとの連携によって、さまざまな使い方をすることができます。

前回(第2回)と今回(第3回)は、Webサービスにアクセスする方法を紹介しました。最終回の次回(第4回)では、Webサービスを作る例を紹介します。

【参考文献】
『RESTful Webサービス』(Leonard Richardson、Sam Ruby著、山本 陽平監修、株式会社クイープ翻訳、オライリー・ジャパン発行、発行年:2007)

1969年生まれ。神戸大学工学部電子工学科卒。ソフトメーカー勤務後、フリーライターとして独立。現在では、パソコン関係およびマネー関係の書籍を中心に執筆活動を行っている。ブログ「The blog of H.Fujimoto」は、Movable TypeやWordPressの情報を中心に毎日更新している(http://www.h-fj.com/blog/)。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています