GooglePlacesAPIからホットペッパーAPIに乗り換えたお話
目次
当初の予定
作成中のテイクアウトシステムで、入力支援の機能として、
GooglePlacesAPIの機能を使って、お店をテキスト検索して絞った候補から、
選択したものを入力欄へ保管…という仕様を考えてて。
個人的なの実験・学習目的が主だったから、お金はかけない範囲で。

GooglePlacesの疎通確認はOK
GoogleCloudPlatformで無事APIキーも取得し、無料で使える範囲($200/月)で使用制限をかけ、
動作確認としてGooglePlacesの疎通も確認ができた。


想定外!画像表示も1つずつリクエスト数にカウントされる
ところがここにきて想定外の事態が。
虫眼鏡ボタン押下時の検索結果には、GooglePlacesで1イベントあたり最大10件程度まで、お店の候補を表示しようと想定していたのね。
この1イベントが1リクエストだとしたら、まぁ個人の実験サイトとしては許容範囲内かな、
1日のリクエスト使用制限回数を超えたら使用できなくなるけど、まぁ仕方ないかな。なんて思ってたんだけど…
疎通確認のときに返ってきた結果の中に、画像のURLもそのまま含まれているのかと思ったら、上記の画像の通りそのようなものはなく…
どうやら”photoreference”の項目で返却されてる乱数のような値が、画像の識別キーのようで。
自サイトで画像を表示するには、その識別キー+APIキーを使用して1画像ずつ、別途リクエストが必要らしい。


つまり、検索ボタンを押下した1イベントにつき、
リスト検索のための1リクエスト + 画像表示最大10リクエスト = 最大11リクエスト
1イベント(検索実行) = 最大11リクエスト!?
無料枠内で納めるには、1日最大900リクエスト程度までで制限が必要なんだけど、
これでは1日80回くらいしか検索できない。
(ちなみに後々ほかの箇所でもMapAPIが使いたかったので、さらに制限されていく予定…)
さすがにこれではいくら個人の実験サイトとはいえ使い勝手が…
かといって勉強のために課金はチョット…ごめんなさい…
じゃあどうするか?→画像はあきらめたくないッ…!
さすがに1回の検索で10リクエストされるのはなぁ…1日80回しか検索できないのはなぁ…
(あと画像呼び出しにもAPIキーが必要なのでURLの隠ぺいまでPHP処理するかとか、気を回さないといけなかったり…色々面倒だな…ゴニョ)
1つの案として、お店の画像を表示するのを諦めて、文字だけのリストにするか…とも考えた。
淋しいけれど、文字だけのリストなら1イベント=1リクエストになる。
これなら1日900回まで検索が無料でできる。
ホットペッパーAPIなら実現できるかも!
けれど、やっぱり画像はUIで考えたうえでどうしても妥協したくなかった…ので、代替案として
もう一つの大企業、リクルートが提供する、ホットペッパーAPIで実現することにする。
実は前に個人的に気になって遊びたいなと思ってたのでAPIキーは取得済みだったのだけど、
ホットペッパーAPIでは、特に具体的な使用制限は書かれてないみたい。
とはいえ、非常識な大量リクエストなんてしたら即刻制限されてしかるべきだと思う。ので、こちらもAPIキーの漏洩は絶対に気をつけねば…!!
あとリファレンスを見ると、画像URLはそのまま返却値として返してくれてるので、画像呼び出しもキーとか不要のシンプル仕様でありがたい。。


そんで個人的に、リファレンスも日本語できれいにまとめてくださってるのでとてもわかりやすかったです。好き。
ただし、ホットペッパーに情報が登録されている(契約している?)店舗のみしか返ってこないようなので、Googleさんより検索ヒット数はどうしても低め。
まぁ入力支援なので、検索で見つからなかったときは手入力でやってもらうことにします。
これで進めていくよ!
そんなわけで、お店検索のWebサービスに、GooglePlacesAPIではなくホットペッパーAPIを採用して進めていくことに決めました。ぱちぱち!
ただ、リクルートさんの履歴を見るに、過去様々なサービスが提供されていたもののそのほとんどが終了してしまっているようなので、このAPIもいつ終わるかわからないのは注意しなきゃいけない点かな。
まぁ突然終了とかなっても全然、そのときはそのときでって割り切ろうと思います。
無料でこんなすごい機能を遊ばせてもらえるだけでも、ほんとありがたいので…