はてなブックマーク開発ブログ

機能変更、お知らせなど

はてなブックマークWeb版のエントリー検索のアルゴリズムを改善しました

はてなブックマークWeb版の全体のブックマークから検索する機能では、検索対象を「タグ」にすることによって、指定したタグがつけられたエントリーを検索することができます(以降「タグ検索」と呼びます)。この度、タグ検索のアルゴリズムを改善するリリースを行いましたのでお知らせします。

これまでのタグ検索では、指定されたタグのみでエントリーを検索しており、表記揺れや類義語に対応していませんでした。例えば はてな でタグ検索を行っても、hatena というタグのみがついたエントリーを発見することはできませんでした。そのため、タグの情報が少ない新着エントリーの検索などにおいては、ユーザーの意図に合致するはずのエントリーが発見されずに埋もれてしまう可能性がありました。

今回のリリースでは、タグ検索のアルゴリズムを改善し、タグの表記揺れや類義語を考慮してエントリーを検索するようになりました。表記揺れや類義語の発見は、これまでのブックマークの傾向をもとに機械学習を用いて自動で行なっています。パワーアップしたエントリー検索を是非ご利用ください。

補足

  • 表記揺れや類義語を考慮しない従来の検索は、"はてな" のように検索キーワードをダブルクォーテーションで囲むことでご利用いただけます
  • はてなブックマークWeb版の本記事で言及していない範囲や、はてなブックマークアプリ版では従来通りの検索が行われますのでご注意ください
  • 細かい検索精度の向上は現在取り組み中で、検索するタグによっては期待する検索結果が得られない可能性があります

開発者向けの情報

以下の検索結果にも今回のアルゴリズムの改善が反映されます。従来通りの検索結果を取得したい場合は、検索するタグを "はてな" のようにダブルクォーテーションで囲んでご利用ください。

【開発者向け情報】はてなブックマークの開発者向けAPIをHTTPSに切り替え、一部エンドポイントを変更・廃止します

はてなブックマークは、先日 Webサイトの HTTPS への切り替え を実施しました。

はてなブックマーク開発チームは、サービスを直接利用するユーザーの皆様だけでなく、開発者向けの各APIを活用したアプリケーションを通じて利用するユーザーの皆様にも、より安全にご利用いただきたいと考えております。そのため、開発者向けAPIにつきましても、以下の要領で HTTPS に対応します。はてなブックマークの公開APIをご利用の皆様には、APIエンドポイントの切り替えをお願いいたします。

切り替え期日
2020年3月4日(水)
移行期間
本告知の公開から2020年3月4日までの約半年間とします。移行期間中は、HTTP とHTTPS の両方のエンドポイントをご利用いただけます。

移行期間中は、各APIをご利用いただいている開発者の皆様において以下の要領で動作検証をし、HTTPS のエンドポイント に APIリクエストの切り替えをお願いいたします。新しいエンドポイントはすでにご利用いただけるようになっています。

2020年3月4日(水)よりAPIリクエストを 新エンドポイントにリダイレクトするAPI

はてなブックマーク件数取得API

変更前

GET http://api.b.st-hatena.com/entry.count?url={encoded_url}
GET http://api.b.st-hatena.com/entry.counts?url={encoded_url}&url={encoded_url}

変更後

GET https://bookmark.hatenaapis.com/count/entry?url={encoded_url}
GET https://bookmark.hatenaapis.com/count/entries?url={encoded_url}&url={encoded_url}
はてなブックマークエントリー情報取得API

変更前

GET http://b.hatena.ne.jp/entry/json/?url={encoded_url}&callback=funcname
GET http://b.hatena.ne.jp/entry/jsonlite/?url={encoded_url}&callback=funcname

変更後

GET https://b.hatena.ne.jp/entry/json/?url={encoded_url}&callback=funcname
GET https://b.hatena.ne.jp/entry/jsonlite/?url={encoded_url}&callback=funcname
マイブックマーク全文検索API

変更前

GET http://b.hatena.ne.jp/my/search/json?q={query}&limit=10

変更後

GET https://b.hatena.ne.jp/my/search/json?q={query}&limit=10
はてなブックマークoEmbed API

変更前

GET http://b.hatena.ne.jp/api/oembed?url={encoded_url}&format=json

変更後

GET https://b.hatena.ne.jp/api/oembed?url={encoded_url}&format=json

【要注意】2020年3月4日(水)以降はHTTPS版のみ提供し、HTTP版からのリダイレクトを実施しないAPI

はてなブックマーク REST API

変更前

GET http://api.b.hatena.ne.jp/1/my/bookmark?url={encoded_url}
POST http://api.b.hatena.ne.jp/1/my/bookmark
DELETE http://api.b.hatena.ne.jp/1/my/bookmark?url={encoded_url}
GET http://api.b.hatena.ne.jp/1/entry?url={encoded_url}
GET http://api.b.hatena.ne.jp/1/my/tags
GET http://api.b.hatena.ne.jp/1/my

変更後

GET https://bookmark.hatenaapis.com/rest/1/my/bookmark?url={encoded_url}
POST https://bookmark.hatenaapis.com/rest/1/my/bookmark
DELETE https://bookmark.hatenaapis.com/rest/1/my/bookmark?url={encoded_url}
GET https://bookmark.hatenaapis.com/rest/1/entry?url={encoded_url}
GET https://bookmark.hatenaapis.com/rest/1/my/tags
GET https://bookmark.hatenaapis.com/rest/1/my
リダイレクトを実施しない技術的な背景

はてなブックマーク REST API は、認証・認可に OAuth 1.0a を利用しています。OAuth を利用した API では、クライアントで生成した署名をサーバーで検証することで、リクエストが真正であることの検証*1 をおこなっています。そのため、HTTP のエンドポイントへのリクエストを単に HTTPS にリダイレクトする対応では、OAuth 1.0a のリクエストの検証に失敗します。

よって、はてなブックマーク REST API については、他のAPIのようなリダイレクトによる移行はサポートしません。そのため 本 API を利用したアプリケーションが 2020年3月4日(水)以降も正常に動作し続けるためには、事前に必ず新しいAPIエンドポイントに切り替えていただく必要があります。

【要注意】2020年3月4日(水) に廃止するAPI

はてなブックマーク 件数取得API の「被ブックマーク合計数取得API」

本APIは、特定のURL配下のすべてのURLの合計ブックマーク数を取得するAPIです。

http://api.b.st-hatena.com/entry.total_count?url={encoded_url}

本APIは、実験的に提供しておりました。今回、ご利用状況を調査したところ、正常なご利用がたいへん少ない一方で、他のAPIと比べて維持にコストがかかる内部実装であるため、廃止いたします。

代替手段として、同じページで案内している「GET リクエストでのシンプルな API(複数版)」利用し、ご自身で合計するなどの方法をご検討ください。

ご注意:利用しているサードパーティのライブラリもご確認ください

動作検証をする際の注意点として、アプリケーションが利用しているサードパーティのライブラリが、内部的にはてなブックマークのAPIを利用している場合があります。そのため、お手元のアプリケーションのソースコードを確認するだけでなく、アプリケーションから利用しているサードパーティのライブラリの実装もご確認ください。

利用しているサードパーティのライブラリが HTTP のエンドポイントを利用していた場合は、そのライブラリの作者の方に、開発者の皆様自身でご連絡ください。

一部のドメインでのAPIの提供も終了します

各API の HTTPS への切り替えと同時に、はてなブックマークで過去に利用していた一部ドメインを廃止いたします。サイト運営者の皆様において、これらのドメインを直接参照してはてなブックマークのAPIなどのリソースを利用している場合は、2020年3月4日以降はご利用いただけなくなりますのでご注意ください。事前に、上記の案内や現行のガイドページ等の内容に従い、各自で移行してください。

ドメイン 過去の主な用途
cdn.api.b.hatena.ne.jp はてなブックマークボタンの配信
cdn-ak.b.st-hatena.com はてなブックマーク件数取得API、旧システムにおける一部の画像の配信
api.b.st-hatena.com はてなブックマークボタンの配信
api.b.hatena.ne.jp はてなブックマークREST API (2020年3月3日まで)

以上のとおり、はてなブックマークの各APIをご利用中のアプリケーション開発者の皆様は、お手数ですが 2020年3月4日(水)までに、ご対応をお願いいたします。

(復旧済み)はてなブックマークREST API の OAuth 認証が必ず失敗する障害が発生していました

はてなブックマーク REST API (以下、本API)は、2013年8月から公開している、サードパーティのアプリケーションからブックマークの追加や取得などの操作を行えるAPIです。OAuthによるユーザー認証を通してご利用いただけます。

本APIにつきまして、 2019年8月7日 12:00から2019年8月8日 19:00 の間にかけて、本APIで利用している OAuth によるユーザー認証が必ず失敗し、正しいリクエストでもエラーレスポンスとして 401 Unauthorized 返してしまっていたことが分かりましたのでご報告いたします。

本問題は、2019年8月8日 17:48 に認知し、調査をおこないました。その結果、OAuthリクエストの検証のために利用している連携サブシステムとのネットワーク的な接続が、サブシステム側のサーバーの移設によって失われていたことが判明しました。そのため、接続先を正しく修正することで復旧しました。

REST APIをご利用いただいている、サードパーティのアプリケーションの開発者の皆様、およびそのユーザーの皆様には、ご不便をおかけしすみませんでした。再発防止に努めて参ります。

はてなブックマークの一覧ページで「あとで読む」ボタンを誤って押したときに、もう一度押すことで削除できるようになりました

はてなブックマークの「あとで読む」機能は、気になったページを「あとで読む」一覧に追加しておき、あとで時間が空いたときにまとめて読むことを支援する機能です。

はてなブックマークのPC版やスマートフォン版では、 [あとで読む] タグをつけてブックマークする以外にも、一覧ページの「あとで読む」ボタン(栞のアイコン)を押すことで、マイページの「あとで読む」一覧に追加できるようになっています。

本日、2019年8月5日のリリースで、一覧ページ上で誤って「あとで読む」ボタンを押した場合は、ボタンをもう一度押すことで、マイページの「あとで読む」一覧やブックマークから削除できるように改善しましたのでお知らせします。本件については、2014年のリリース直後からユーザーの皆様にご指摘、ご要望をいただいていたのですが、ご提供が遅れてしまい、すみませんでした。

なお同様の機能として、はてなブックマーク公式iOSアプリでは、一覧の項目を長押しすることで「あとで読む」一覧に追加できますが、もう一度、項目を長押しすることで「あとで読む」一覧から削除できるようになっておりますので、併せてご利用ください。

はてなブックマークの「おすすめ」が、iOSアプリでも読めるように

本日、はてなブックマークiOSアプリで新機能「おすすめ」を含む、最新バージョンをリリースしました。

おすすめ機能により、今はてなブックマークで注目を集める話題を特集単位でまとめ読みできるように。はてな編集者が厳選し、はてなブックマークのアルゴリズムを用いて最適化した、おすすめの特集だけをお届けします。

iOSアプリ「はてなブックマーク」を今すぐインストール

新機能「おすすめ」
ホーム[総合]の右タブでご利用いただけます

ここ数日間に渡って議論が起こっている出来事や、あの人気映画の感想エントリーなど、多種多様な話題をぜひお楽しみください。

またデフォルトではホームの[総合*1]タブ右側に表示されますが、設定の[タブの並び替え]からご自由に順番を並び替えいただけます。

気になる話題は、引き続き「関心ワード」で

おすすめ特集は、定期的に編集され、入れ替わります。もし引き続き追いたい話題の特集がございましたら「関心ワード」を合わせてご利用ください。

各おすすめ特集の[もっと読む]ボタンから特集詳細ページに遷移いただき、画面右上の+ボタンをタップいただくことで、関心ワードに追加いただけます*2*3

「おすすめ特集」を関心ワードに追加する
「おすすめ特集」を関心ワードに追加する

関心ワードは、ホーム画面左上ボタンをタップして表示されるメニューからご利用できます。アプリから登録した関心ワードは、PCブラウザ版でも引き続きご覧いただけます。

関心ワード - はてなブックマーク

関心ワードにアクセスするには?
関心ワードにアクセスするには?

今すぐ最新版をご利用ください

ご意見・ご要望をお待ちしております

はてなブックマークへのご意見・ご要望は、以下のフィードバックフォームよりお寄せください。

フィードバック

ご不明な点に関するご質問など、返信を要するお問い合わせにつきましては、以下お問い合わせ窓口よりご連絡ください。

はてなブックマーク - お問い合わせ - はてな

*1:設定の[ホーム]から、一般と時事にも変更できます

*2:関心ワードの追加・ご利用は、ログインが必要です

*3:おすすめ特集で抽出されたエントリーと、関心ワードで抽出されるエントリーは異なります

iOS・Androidアプリで、Twitterアプリからのブックマークが削除できない不具合を修正しました

いつもはてなブックマークをご利用いただき、ありがとうございます。

2019年2月頃より、はてなブックマークアプリで発生してましたTwitterアプリのツイート共有機能(「その他の方法でツイートを共有」ではてなブックマークアプリを選択)からのブックマークが削除できない不具合を修正致しました。

原因はコメント一覧ページの統合に関する処理における考慮漏れによるものでした。
ご不便をおかけし大変申し訳ありませんでした。再発防止に努めてまいります。

ご意見・ご要望をお待ちしております

はてなブックマークへのご意見・ご要望は、以下のフィードバックフォームよりお寄せください。

フィードバック

ご不明な点に関するご質問など、返信を要するお問い合わせにつきましては、以下お問い合わせ窓口よりご連絡ください。

はてなブックマーク - お問い合わせ - はてな

(追記あり)はてなブックマークAndroidアプリで、一部サイトが正常に読み込めない問題について

いつもはてなブックマークをご利用いただき、ありがとうございます。

以前より、はてなブックマークAndroidアプリで一部サイトのエントリーを開くと「ネットワークに接続できません」や「ウェブページへのアクセス不可」などと表示され、正常に読み込めないといったお問い合わせを、複数件いただいております。

本件に関しては開発チームでも確認しており、おそらくAndroidのシステム側に起因する不具合だと推定しておりますが、詳しい原因は調査中です(2019年6月28日16時現在)。

改善までの代替策として、該当するエントリーを長押しすると表示されるメニューから[外部ブラウザで開く]をタップしていただくと、任意のブラウザで閲覧いただけます。

f:id:hatenabookmark:20190628152116p:plain:w580

ご利用中の皆様には大変ご迷惑おかけしますが、改善までもう少々お待ちいただければ幸いです。

2019年10月8日追記

Androidのアップデートが入り、再現しない事を確認いたしましたので、本調査については終了とさせていただきます。
もし再現しましたら、お手数ですが、以下のお問い合わせよりご連絡ください。

お問い合わせ

その他、はてなブックマークへのご意見・ご要望は、以下のフィードバックフォームよりお寄せください。

フィードバック

ご不明な点に関するご質問など、返信を要するお問い合わせにつきましては、以下お問い合わせ窓口よりご連絡ください。

はてなブックマーク - お問い合わせ - はてな