2024-10-13

細かすぎて伝わらないはてなブックマークエントリーIDの話

はてブブクマページにはIDがある。

htmlタグのdata-entry-eid属性に書いてある数字であるはてなブックマークエントリー情報取得APIでも取得できる。

これをエントリーIDと呼ぶ。

ユーザーブクマURLは以下のようになっている。

https://b.hatena.ne.jp/entry/{エントリーID}/comment/{ユーザーID}

あるいはユーザーブクマ一覧中のブクマアクセスする以下のURLもある。

https://b.hatena.ne.jp/{ユーザーID}/{日付}#bookmark-{エントリーID}

ところがこのエントリーIDは1つのエントリー複数存在する可能性がある。

たとえば以下のブクマページ。

https://b.hatena.ne.jp/entry/s/nordot.app/1211910352128279184

エントリーIDは4760262558153474272である

からブクマURLは以下のようになる。

https://b.hatena.ne.jp/entry/4760262558153474272/comment/{ユーザーID}

しかし一部のブクマURLは以下のようにエントリーIDの部分が異なる。

https://b.hatena.ne.jp/entry/4760262556542860384/comment/{ユーザーID}

ブクマページはエントリーIDを使ってアクセスすることもできる。

https://b.hatena.ne.jp/entry/{エントリーID}

から以下のURLブクマページにアクセスできる。

https://b.hatena.ne.jp/entry/4760262558153474272

別のエントリーIDらしきものでも同様にブクマページにアクセスできる。

https://b.hatena.ne.jp/entry/4760262556542860384

まりエントリーID複数存在するようだが、ブクマページやAPIで取得できるエントリーIDはただ1つである

4760262558153474272はエントリーIDとして取得できるが、4760262556542860384はブクマページを探してエントリーIDとして使用しているブクマを見つけることでしか取得できない。

何かが修正されたときエントリーIDが変わることがあるのだろうか?

はてなブックマークエントリー情報取得API」でエントリーIDと各ブクマユーザー投稿日時を取得して、これを使って「はてなスターカウントAPI」でブクマが得たスター数を取得する場合、通常は以下のURLスター数を取得できる。

https://s.hatena.com/entry.json?uri=https://b.hatena.ne.jp/{ユーザーID}/{日付}#bookmark-{エントリーID}

(uri=以降のパラメーターはURLエンコードする)

ところがエントリーIDが異なるブクマは当然個別エントリーIDでないとスター数を取得できないので、はてブAPIだけでは情報が欠損する。

わざわざ現場ブクマを1個1個見る必要がある。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん