自分のブログのエントリをはてなブックマークへ投稿する方法については、過去、様々な試行錯誤と紆余曲折を辿ってきました。

AddToHatenaBookmark Pluginを入れてみる。
【メモ】MobableType → はてなブックマークでタイトルがURLになってしまう件
ブログからはてなブックマークへの自動投稿を再開しています。
Twitter経由でエントリをはなブックマークに投稿するときにタグも含める


どれもその時点では問題なしだったのですが、仕様変更?や環境の変化で上手く動かなくなったり、改善したい点が出てきたりして今まで満足のいく実装はありませんでした。最近のTwitter→はてなブックマークの投稿にしても結局は、僕のブクマスタイルに合っているとは言えず。



これはもう自分で何とかするしかないのかな、と思っていたのですが面倒で放置していたところ、PEAR::Services_Hatenaを発見して非常に楽に実装できることが解ったのでさっくりと作ってみました。

【PHP】PEAR::Services_Hatena_Bookmarkを使う

基本的な流れ

サンプルを載せるまでもないので詳細は割愛します。

流れは、

  1. ブログのAtomフィードを取得する
  2. パーマリンクを取得しそれがブックマーク済みかどうかチェック
  3. ブックマークされていなければブックマーク処理

というシンプルなものです。既にブックマーク済みのエントリはいじらないので、コメント編集後に上書きしてしまうこともありません。タグはコメントの先頭に付加しています。

とりあえず1時間に1回投稿するだけですが、今のところ上手く動いているようです。本当ならPHPなんかで書かずに、きちんとPerlで書いてMovableTypeと連動させるとか何とかあるんでしょうけどもまぁいいじゃないですか。急いでいたし、僕が使うだけだし。



「Twitter → はてなブックマーク」連携で僕に合わなかったこと。

個人的には以下のことが合いませんでした。

  • Twitterステータスに含まれるタイトルがコメントとして投稿されるのが気になる
  • コメント先頭に表記することでタグとして認識されるが、ステータスが汚くなる
  • ブクマして欲しくないエントリを上手く選別できない
  • Twitterで繰り返し発言するとブクマ済みエントリのコメントなども容赦なく上書きする

Twitterで投稿するとはてなブックマークに投稿できるというのはかなり画期的だとは思ったのですが...なかなか難しいですね。