ヤフーのWebAPI Yahoo!デベロッパーズネットワークのWebAPIを利用してみました
無料で利用できるヤフーのWebAPIです
代表的なAPIは、Yahoo!ショッピングや飲食店やショッピング、各種施設などの地図情報です
その他にも利用できるAPIが用意されています
Contents
ヤフーAPIの使い方 Yahoo!デベロッパーネットワーク
Yahoo!デベロッパネットワークのWebAPIを使って、Yahoo!ショッピングの商品情報やYahoo!ロコの飲食店情報などの情報を取得し、Webサイトなどで利用することができます
自分のサイトの情報拡充やサイト内でお店の情報提供や検索に使うといったことができます
ぐるなびWebサービスの一般ユーザー向け無料APIの提供が終了しますので、Yahoo!デベロッパーネットワークの飲食店情報を取得できるAPIをお試ししてみました
ヤフーAPI YOLP(地図)のWebAPIを使ってみよう
Yahoo!デベロッパーネットワークのWebAPIにあるのがYOLP(地図)です
Yahoo! Open Local Platform(YOLP)は、Yahoo! JAPANがデベロッパー向けに提供する地図・地域情報のAPI・SDKです。ウェブページの制作はもちろん、スマートフォン向けアプリケーションの開発においても、多彩な地図表示、店舗・施設検索、ジオコーディング、ルート検索、標高データ取得などの豊富な機能をご活用いただけます。
こちらのサイトは、YOLPのYahoo!ローカルサーチAPIを使ってフリーワード検索した結果のレストラン・飲食店の詳細情報で作成したお試しサイトですので参考にしてください
お店・施設 スポット検索(自作サイトです)
YOLPのYahoo!ローカルサーチAPIは、飲食店だけでなく、ショッピング施設やレジャー施設、生活に利用する施設など、さまざまな店舗・施設の検索ができるWebAPIです
飲食店の場合、料理のジャンル、住所や電話番号、最寄りの駅、参考の予算、お店の情報サイトのURL(ぐるなびなど)、Yahoo!ロコのURL、代表的な写真、料理やメニューの写真、クーポンやお店からの情報などのデータが取得できます
WebAPIを使用したプログラミング例についてはこちらもご覧ください
ぐるなびAPIを使った例を説明しています
ヤフーAPIの使い方 Yahoo!デベロッパーネットワークを始めよう
ヤフーAPIの使い方 Yahoo!デベロッパーネットワーク
まずはこちら
Yahoo!デベロッパーネットワークのサイトです
Yahoo!Japanの利用できる技術情報が公表されています
その中でもWebAPIについてはこちらのAPIドキュメントをみてください
ショッピングやYOLP(地図)、テキスト解析などが利用できます
飲食店などのお店や施設の情報を取得できるのはYOLP(地図)です
地図、地域情報の検索に利用できるのがこちらのAPIです
ヤフーAPIの使い方 Yahoo!ローカルサーチAPI
Yahoo!ローカルサーチAPIは、店舗や施設、イベント、クチコミ情報などの地域・拠点情報(POI)を検索できるAPIです
検索対象は、全国の店舗・施設の電話帳データ、店舗オーナーなどからの投稿データで、地域・拠点情報の名称や業種などをキーワードで検索できます
都道府県などの住所コードや業種で絞り込み検索することもできます
WebAPIを呼び出すときのリクエストパラメータや、WebAPIからのレスポンスパラメータの詳細はこちらのYahoo!ローカルサーチAPIのページに掲載されています
ヤフーAPIの使い方 Yahoo!デベロッパーネットワーク アプリケーション登録
ヤフーAPIの使い方 まずはアプリケーション登録
Yahoo!デベロッパーネットワークを利用して、アプリケーションを作成するには、「アプリケーションの管理」から、アプリケーションの登録が必要です
もちろんYahoo!Japanのアカウントは必要です
登録するアプリケーションの情報は
・WebAPIを利用する場所 アプリケーションの種類
サーバー上から利用するサーバーサイドか、スマホのアプリなどクライアントアプリから利用するクライアントサイドかを選びます
・アプリケーション利用者情報
個人または、法人・個人事業主を選びます
・アプリケーションの基本情報
アプリケーションの名前とサイトのURL、アプリケーションの説明などです
・ガイドラインを確認する
アプリケーションの開発を行う前に、必ずガイドラインを確認してください
ガイドラインに同意する方のみ利用開始できます
複数のアプリケーションを開発する場合は、アプリケーションごとに登録が必要になります
アプリケーションの登録を行うことで、ヤフーのWebAPIを利用する際に必要なクライアントIDと秘密鍵がもらえます
アプリケーションで利用する手順は「ご利用ガイド」にまとめられています
ヤフーAPIの使い方 ガイドライン・利用方法
「ソフトウェアに関する規則(ガイドライン)」、「WebAPIの商用利用について」はよく確認してください
また各WebAPIのページにある「Yahoo! Open Local Platformの利用方法」、「ショッピングWeb APIの利用方法」などもよく確認しておきおましょう
アプリケーションにはクレジット表示を行うことが必要です
クレジット表示を忘れないようにしましょう
画像やHTMLソースが用意されています
ヤフーAPIの使い方 商用利用とアフィリエイト利用
非商用目的のみに利用が認められているものですが、商用利用がすべて禁じられているわけではなく、商用利用する場合はお問い合わせ窓口から相談することが可能となっています
情報の使用により、お店やユーザーから利益を得るサービスを提供すると商用利用と判断されるようですが、アフィリエイトプログラムの利用については「開発のヒント」の中にバリューコマースの紹介もあり利用可能となっています
Yahoo!ショッピングAPIでは、バリューコマースのIDを設定したり、アフィリエイト料率を取得することも可能です
ヤフーAPIの使い方 Yahoo!ローカルサーチAPIについて
ヤフーAPIの使い方 Yahoo!ローカルサーチAPIの飲食店
Yahoo!ローカルサーチAPIを使ってみて感じた特徴です
取得できる飲食店の情報の件数はぐるなびAPIに比べると少ないようです
Yahoo!ローカルサーチAPIで取得できる飲食店はYahoo!ロコで見ることができる店舗ではないかと思います
食べログやぐるなびのサイトでみてもわかりますが、登録されている飲食店の数がだいぶ違うと思います
検索キーワードのヒットのアルゴリズムによっても件数が少なくでているのかもしれませんが、食べログやぐるなびはネット予約できない店舗や基本情報と口コミぐらいしかない店舗、ユーザーが登録した店舗も多いのに比べると、登録件数が少ないのではないでしょうか?
得られる情報は、店舗から提供されている写真などが入っていますからよさそうです
ヤフーAPIの使い方 Yahoo!ローカルサーチAPIの施設検索
また、グルメ以外のジャンルもYahoo!ローカルサーチAPIでは指定可能で、ショッピング施設、レジャー施設、暮らしや生活に必要な施設の検索ができるところはぐるなびAPIにはない特徴です
電話帳に載るような施設は検索できるようです
様々な施設の情報が検索できるWebAPIとしてはGoogle Map APIがあります
キーワード検索が強力で取得できる店舗の件数も多く、公園や観光スポットなど様々な情報を取得することができ、口コミも写真も取得できます
しかし、有料のWebAPIなので若干使いにくいところがありました
Yahoo!ローカルサーチAPIは無料でジャンル指定も地域指定も可能です
ヤフーAPIの使い方 Yahoo!ローカルサーチAPIの使い方
YDLPのページには、WebAPIの使い方や、サンプルコード、ライブラリ集などのドキュメントのページもありますから必要に応じて参照してみてください
ヤフーAPIの使い方 Yahoo!ローカルサーチAPI 仕様
YDLPのAPI仕様は、URLやパラメータ一覧などこちらに公開されています
Yahoo!ローカルサーチAPIのリクエストURLはこちら
https://map.yahooapis.jp/search/local/V1/localSearch
単純にキーワード検索するだけなら、これでOKです
https://map.yahooapis.jp/search/local/V1/localSearch?appid=<あなたのアプリケーションID>&query=回転寿司
ブラウザにこのURLを貼り付けて表示させるとどのようなデータが取得できるかわかります
飲食店のデータは、ぐるなび提供だったり、Yahoo!ロコ提供だったりするようで、レスポンスパラメータはお店によって若干ちがっていたりします
ヤフーAPIの使い方 Yahoo!ローカルサーチAPI 主なリクエストパラメータ
Yahoo!ローカルサーチAPIの主なリクエストパラメータについてです
利用してみて、API仕様に書いていないけれども気づいた注意点も記載しておきます
&query=
キーワード検索のクエリーを設定するパラメータです
キーワードをUTF-8にエンコードして設定しますが、半角スペースを入れないようにしないとならないようです
キーワードをmb_convert_kana()を使って全角化してから使っています
&gid=
店舗固有のIDで指定するとこのIDの店舗の情報を取得します
ちょっと利用してみたところで気づいたのは、データにダブりがあって、同じIDのデータが複数とれることがあること
写真など情報が有るデータと無いデータなどありますから、同じ店に対して複数の提供元があるのかもしれません
&groupにgidを指定するとまとめて表示される、&distinctにfalseを指定するとすべての店舗が表示されると書いてありますから、必要に応じて使い分けるようです
また、クエリーやジャンルなども合わせて指定する場合は、この店舗が検索されないクエリーや店舗のジャンルと違うジャンルを指定するとデータが取得できませんでした
and条件になっているようですから注意が必要です
&sort=
ソート結果の並び順を指定できます
&start=
検索結果中の何番目からのデータを取得するのかを指定します
&results=
検索結果から何件データを取得するかを指定します
&detail=
出力項目を簡易版か標準版か詳細版かを切り替えることができます
レスポンスパラメータのDetailの部分は詳細版で取得できました
&output=
出力をJSONでとるか、XMLでとるかを指定できます
&lon= &lat= &dist=
検索する中心位置、検索範囲の中心からの距離を指定できます
&ac=
住所コードまたは国コードを指定します
住所コードはJISのX0401
国コードなら日本はJP、都道府県なら01から47の2桁、市町村を指定するなら5桁です
&gc=
検索できる店舗や施設の業種コードが指定できます
YOLP業種コードが用意されています
大きな分類はこちらの4つで、この2桁で指定することも可能です
01:グルメ、02:ショッピング、03:レジャー、04:暮らし・生活
細かい分類を指定する場合は、それぞれの大分類の中に4桁のコードで分類が規定されています
ジャンルを指定しないとすべてのジャンルから検索されているようでした
他のパラメータ
他にも矩形範囲指定やクーポン・駐車場・クレジットカード・禁煙分煙・予約などの対応有無の指定、画像有無の指定、開店日時指定などあります
ヤフーAPIの使い方 Yahoo!ローカルサーチAPI 主なレスポンスパラメータ
Yahoo!ローカルサーチAPIの主なレスポンスパラメータについてです
レスポンスパラメータは、主なものはAPI仕様に記載されていますが、取得できるデータをみると記載されていないデータも多種ありました
データによって異なったり、ジャンルによって異なったりするようで、実際のレスポンスパラメータをみて、表示させたいものを使うといった使い方をしてみました
API仕様にきっちり記載されていなくて、データ提供元によって自由度があるのでしょうかね
ローカルサーチAPIのスキーマ記述(情報の構造)のページがありますから、みるとこのフィールドは1個だけとか、数の制限が規定されていないフィールドだとかわかります
Yahoo!ローカルサーチAPI 備忘録<未解決> YOLP API
Yahoo!ローカルサーチAPIにfile_get_contents()でアクセスしてもファイル取得できなくなった?
今までは@file_get_contents()を使ってGETしていたのですが、いつからかファイルを取得できなくなっていました
URLをブラウザで直接みるとJSONファイルは出力されてきますが、PHPプログラム内からfile_get_contentsを使って取得しようとするとできません
JSONをXMLにしてもfile_get_contentsではできなくなっていました
XMLもURLをブラウザで直接見るとOKです
今まではfile_get_contentsでOKでしたが、できなくなってしまいました
いろいろ試してみたところfile_get_contents()は使わずに、outputはXMLにして、simplexml_load_file()を使ってみたところ、ファイルが取得できました
file_get_contnts()のcontentsパラメータの問題なのか?
Yahoo!の問い合わせでは技術的サポートはやっていないですし、まだよくわかりません