Trip Advisor API按位置名称搜索

时间:2015-04-07 08:33:15

标签: php api

我正在尝试设置Trip-Advisor API以检索附近酒店的位置名称。下面列出的文档显示了如何按ID获取位置,我已经设置并使用链接成功运行下方。

$apiRequest = "http://api.tripadvisor.com/api/partner/2.0/location/60745/hotels?key=".$key

现在我需要一个类似的结果,但搜索名称而不是位置ID。这样我可以将输入字段放在用户输入位置名称和搜索的位置。在文档(下面链接)中,它提到了页面底部附近的位置名称,但我似乎无法实现它。我想我可能会误解它是API的新手

https://developer-tripadvisor.com/content-api/documentation/location/

我尝试使用位置名称替换ID,但正如预期的那样,这会失败。

我还尝试使用参数URL - /location-name/manchester/ - URL

将location-name放入其中

我会在尝试时发布更新,

由于

2 个答案:

答案 0 :(得分:2)

不幸的是,Trip Advisor没有提供将搜索字符串转换为位置ID的方法。但是,Trip Advisor允许您使用map/ endpoint通过lat / lon搜索附近的结果。在回应中会有一个"祖先"看起来像这样的对象:

"ancestors": [
        {
          "abbrv": null,
          "level": "City",
          "name": "Boston",
          "location_id": "60745"
        },
        {
          "abbrv": "MA",
          "level": "State",
          "name": "Massachusetts",
          "location_id": "28942"
        },
        {
          "abbrv": null,
          "level": "Country",
          "name": "United States",
          "location_id": "191"
        }
      ],
      "bearing": "north",
      "longitude": "-71.09922",
      "rating": null,
      "latitude": "42.33227",
      "ranking_data": null
    }

如您所见,它包含城市和州的位置ID。有了这些信息,您可以获取用户的搜索查询,将其转换为纬度/经度(Google Geocoding Api),点击Trip Advisor Api Map端点,获取城市位置ID,然后使用它来搜索附近酒店。

显然,这是非常迂回的,需要3个单独的api调用,但这是将搜索查询解析为位置ID的唯一编程方式。 (在我看来,比建议的手动ID收集方法要好得多)

答案 1 :(得分:0)

目的地(或地理位置)是地理位置。这可以是国家,州,省,地区或城市。您可以在TripAdvisor上通过导航到该目的地的页面并在URL中查找“g”参数后面的数字来识别地理位置ID。例如,波士顿市的地理位置ID为60745,如以下网址中所定义:

http://www.tripadvisor.com/Tourism-g60745-Boston_Massachusetts-Vacations.html

POI包括列出的住宿,景点和餐馆,可在TripAdvisor上查看。您可以通过导航到TripAdvisor上的媒体资源页面并在URL中的“d”参数后面找到该数字来查找TripAdvisor POI的位置ID。例如,波士顿联邦酒店的位置ID为258705。

http://www.tripadvisor.com/Hotel_Review-g60745-d258705-Reviews-Hotel_Commonwealth-Boston_Massachusetts.html

请注意,POI的网址还包含其所在城市的地理位置ID(在“g”之后)。

位置ID映射

TripAdvisor不支持向其Content API用户提供任何服务,以便将合作伙伴或外部位置ID映射到目的地或POI的TripAdvisor位置ID。

阅读:http://developer-tripadvisor.com/content-api/locations/