おおまかな処理の流れ

  1. Yahoo!ローカルサーチAPIで店舗を検索して、店舗のUidを取得する
  2. クチコミ検索APIでUidから口コミ情報を取得する

Yahoo!ローカルサーチAPIで店舗を検索して、店舗のUidを取得する

まず、 Yahoo!ローカルサーチAPI で店舗を検索する。

検索パラメータの query には「江南 ブラッスリー三幸」を指定。

リクエストURL。


http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?appid=nilabinfo&output=json&query=%E6%B1%9F%E5%8D%97%20%E3%83%96%E3%83%A9%E3%83%83%E3%82%B9%E3%83%AA%E3%83%BC%E4%B8%89%E5%B9%B8

レスポンスJSON。


{
  "ResultInfo": {
    "Count": 1,
    "Total": 1,
    "Start": 1,
    "Status": 200,
    "Description": "",
    "Copyright": "",
    "Latency": 0.015
  },
  "Feature": [
    {
      "Id": "22333003469",
      "Gid": "8MMyy0TYSd-",
      "Name": "ブラッスリー三幸",
      "Geometry": {
        "Type": "point",
        "Coordinates": "136.859351388889,35.324833611111"
      },
      "Category": "",
      "Description": "",
      "Style": "",
      "Property": {
        "Uid": "e6420ea2837df75f0ea28eb68bb0cd5873e5a284",
        "CassetteId": "d8a23e9e64a4c817227ab09858bc1330",
        "Yomi": "ブラッスリーサンコウ",
        "Country": {
          "Code": "JP",
          "Name": "日本"
        },
        "Address": "愛知県江南市上奈良町豊里98",
        "GovernmentCode": "23217",
        "AddressMatchingLevel": "6",
        "Tel1": "0587-53-6000",
        "Genre": [
          {
            "Code": "0102004",
            "Name": "洋食(その他)"
          }
        ],
        "Station": [
          {
            "Id": "25157",
            "SubId": "2515701",
            "Name": "布袋",
            "Railway": "名古屋鉄道",
            "Exit": "出口",
            "ExitId": "8666",
            "Distance": "1912",
            "Time": "22"
          }
        ]
      }
    }
  ]
}

Feature.Property.Uid の 「e6420ea2837df75f0ea28eb68bb0cd5873e5a284」という値を抜き出す。

クチコミ検索APIでUidから口コミ情報を取得する

ローカルサーチAPIで取得した Uid を指定して クチコミ検索API で口コミ情報を取得する。

リクエストURL。


http://api.olp.yahooapis.jp/V1/review/e6420ea2837df75f0ea28eb68bb0cd5873e5a284?appid=nilabinfo&output=json

レスポンスJSON。


{
  "ResultInfo": {
    "Count": 10,
    "Total": 14,
    "Start": 1,
    "Status": 200,
    "Latency": 0.933,
    "Description": null,
    "Copyright": "Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved."
  },
  "Feature": [
    {
      "Id": null,
      "Property": {
        "Uid": "e6420ea2837df75f0ea28eb68bb0cd5873e5a284",
        "Comment": {
          "Id": "2-54522554",
          "Body": "時々、この店に行きたくなって、友達誘って行きます。\nパスタもサラダもすっごくおいしいです。\n店員さんも優しいし、雰囲気もいいと思います。",
          "Subject": "ママ友とランチ",
          "Guid": null,
          "Author": null,
          "Rating": 4,
          "VisitDate": null,
          "Scene": 1,
          "UsefulCount": 0,
          "LinkUrl": null
        },
        "CreateDate": "2011-01-26T10:24:20+09:00",
        "UpdateDate": "2011-01-26T10:24:20+09:00"
      }
    },
    {
      "Id": null,
      "Property": {
        "Uid": "e6420ea2837df75f0ea28eb68bb0cd5873e5a284",
        "Comment": {
          "Id": "2-52391575",
          "Body": "2010年の3月からメニューが改定されて、パンのお代わり自由がなくなりました。少し高くてもそれが目当てで行った事があったのでとても残念です。最後に行った1年半ほど前は休日のディナーにピアノの生演奏もあり、まだサービスも良かったのですがクチコミの評価がだんだん下がっていることが気になります。お代わり自由をなくしてサービスの質を上げるのでしょうか。雰囲気もよかったお店なので、今後に期待したいです。",
          "Subject": "メニューが変わりました",
          "Guid": null,
          "Author": null,
          "Rating": 2,
          "VisitDate": null,
          "Scene": 3,
          "UsefulCount": 0,
          "LinkUrl": null
        },
        "CreateDate": "2010-03-27T22:50:43+09:00",
        "UpdateDate": "2010-03-27T22:50:43+09:00"
      }
    },
(以下略)

参考資料

Ref.

ちなみにレスポンスJSONは JSON Pretty Printing Formatter を使用して見やすく整形しておいた。

tags: yahoo_maps_api

Posted by NI-Lab. (@nilab)