ブックマークの編集

ブックマークの編集

既存のブックマークを編集することもできます。それには、「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 = <<< HERE

     

${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)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30