読者です 読者をやめる 読者になる 読者になる

No Bugs, No Life

読んだ本や、プログラミング、システム開発等のねたを中心に。文章を書く練習なので少し硬派に書くつもりだけど、どうなることやら。

書籍検索API探索-GoogleAPI 編

DEV Librarian

前回の続き。
Librarian再実装の方針の1番で、Amazon以外のAPIを探ってみた。
Amazon以外で使えそうなところとしては、楽天Googleあたりか。(NDLは今でも使っているので割愛)
まずはGoogleから。

Google API情報源

いままで使ったことがなかったので割と手探り状態。まずは情報収集。

公式

Getting Started - Google Books API Family — Google Developers
今回の目的はISBNから書誌情報をとるだけなので、以下を見ると、"https://www.googleapis.com/books/v1/volumes?q=isbn:検索したいISBN番号"にリクエストを投げれば結果が返却されそう。戻りはJSON。うむ、楽ちん。
Using the API - Google Books API Family — Google Developers

制限

調子こいて検索かけてたら、ところどころ403 Forbiddenが返されてくる。
やはり、世界のGoogleとはいえ無尽蔵には使わせてもらえない*1
怒られたときはこんな感じ。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceededUnreg",
    "message": "User Rate Limit Exceeded. Please sign up",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "User Rate Limit Exceeded. Please sign up"
 }
}

extendedHelpに記載されたGoogle Play Developer Consoleを辿り、APIキーを取得。
クエリパラメータにAPIキーを埋め込むことで403は回避できた、、、と思いきや。

1,000 リクエスト数/日

... orz
とりあえず、発行できた938リクエストのうち、17件がGoogleでは管理されていない様子。
ヒット率は悪くないけど、titleがところどころで微妙な感じ。
上巻、下巻、1巻~N巻みたいなのが弱いなぁ。

読書歴のISBNを基準として、ヒット率とタイトルが微妙なところを整理してみた。
Books DB比較

続きはまた。

*1:アタリマエ