PR

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】 ブックマークのコメントを編集するプログラム
<?php
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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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