はてなブックマークをダウンロードしたい。

これ使うのがいいと思うよ。
"PEAR :: Package :: Services_Hatena

私はタブブラウザにめぼしいものをいっぱい開いておいて、一通り見終わったら一気にはてブに放り込んでいる。ブックマークレットのボタンを押して次のタブに移ってまたブックマークレットのボタンを押して……というのを繰り返し、はてブの入力画面が出てきたらそこに戻るという感じでやっていた。で、コメントを書いて「追加する」を押して次のタブに移ってまたコメントを書いて……とやっているのだけれども、他のタブでブクマの登録が終わると、いま文字を入力していたテキストフォームのフォーカスがなんか変な感じになって未変換だった文字が消えたり、やけにフォーム入力が遅くなったり、裏で色々なJavaScriptが動いている副作用なんだろうけどストレスを感じる原因になっていた。なのではてなブックマークAtomAPI を使ってマイ入力装置を作った。

WSSE とか API 仕様とか REST がどうのこうのとかなんか面倒だったのでとりあえず検索。なんか perl なんだな。 PHP で実装しているのをまた検索。HTTP_Requestを使ってはてなフォトライフへ画像を投稿という記事を見つけた。PEAR を使わないといけない。いまはローカルに PHP をインストールしておらず、したがって PEAR もないので、必要なモジュールだけダウンロードしてきてサーバに上げた。あとちょっと元スクリプトを改良してできあがり。

とりあえずWSSE認証を。リクエスト投げてみる。

送信するX-WSSEヘッダのサンプルは以下のようになります。

X-WSSE: UsernameToken Username="hatena", PasswordDigest="ZCNaK2jrXr4+zsCaYK/YLUxImZU=", Nonce="Uh95NQlviNpJQR1MmML+zq6pFxE=", Created="2005-01-18T03:20:15Z"

Username
ユーザー名。(はてなフォトライフAPIでははてなアカウントのid)
Nonce
HTTPリクエスト毎に生成したセキュリティ・トークン*1
Created
Nonceが作成された日時をISO-8601表記で記述したもの
PasswordDigest
Nonce, Created, パスワード(はてなアカウントのパスワード)を文字列連結しSHA1アルゴリズムでダイジェスト化して生成された文字列を、Base64エンコードした文字列


自分でfsockopenしようとしたけど、別アカウントにつながっちゃって、頓挫したので、PEARに切り替え。
http://pear.php.net/manual/ja/package.http.http-request.php


はてなブックマークフィード仕様とは - はてなダイアリー
yohei-y:weblog: REST 入門(その5) 四つの動詞 -- GET, POST, PUT, DELETE

# FeedURI + クエリパラメーター = Atomフィード

* GET /atom/feed
* GET /atom/feed?tag=hatena
* GET /atom/feed?word=perl
* GET /atom/feed?date=20050701
* GET /atom/feed?date=latest
* GET /atom/feed?of=50