今更ですが、PEARのServices_Hatenaが便利すぎる件

By fukumoto - 09/10/02 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

今さらながらですが

かなり前からあるサービスですが、PEARのServices_Hatenaを最近重宝しています。
その名の通り「はてな」のAPIサービスを手軽に使うことができるようになります。
はてなのAPIを利用してブックマークをポストしようとすると、
WSSE認証やXMLのPOST送信等クリアしなければいけない課題が出てきます。
ちょっと調べればわかることなのですが、
もうライブラリとしてまとめてもらっているのですから、
やはりそちらを使う方が圧倒的に早いですね。
 

使い方

ではブックマークのポストの方法を見てみましょう。
 

require_once 'Services/Hatena.php';

//引数に'Bookmark'を与えインスタンス作成
$hatena = Services_Hatena::factory('Bookmark');

//はてなのログイン情報を入力
$user = "******";
$pass = "********";
$hatena->hatena_login($user, $pass);

//ブックマークをポスト
$url = 'http://www.plusma.jp';
$description = '携帯サイトをつくろうのトップぺージです。';
$hatena->add_bookmark($url, $description);

 
もうこれだけです!楽ですねー。
一応見た目上はこれだけなのですが、他に必要なPEARのライブラリも出てきます。
 

HTTP_Request.php
Net_URL.php

 
以上2つです。ただ、HTTP_Request.phpに関しては現在はHTTP_Request2.phpなるものが出ています。
そちらをご利用になる場合はそれ相応のファイル名の書き換えが必要になりますので悪しからず。
 

最後に

これで誰でも手軽にブックマークを投稿できますね。
ただ1点気になっていることがありまして、それは一度のPOST件数です。
僕が見落としているだけかもしれませんが、特に明示的に分かる場所にそれに関する記載はなく、
現段階でPOSTしたいと思ったものはすべて一度でできています。
APIがあるということはループされることも想定されているのかもしれませんが、
あまり一度に連続でブワーっとPOSTしてしまうのはなんか悪い気がしますし、
最悪自分のIDを削除されたら嫌なので、僕は1個以上POSTする際には、
 

//15秒休憩
usleep(15000000);

 
を入れてのんびりやっています。
まぁ今のところ一度に大量に入れることもないのでとりあえずこれで事足りています。
その他にも、上のソースコードで「Bookmark」といれたところを色んなことができます。
皆様も参考にしてみて下さい。そして、一度お試しあれ。