php - Trip Advisor API 按位置名称搜索

标签 php api

我正在尝试设置 Trip-Advisor API 以将附近的酒店检索到位置名称。下面列出的文档向您展示了如何通过 ID 获取位置,我已经设置了该 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 将位置名称放入其中

我会在尝试时发布更新,

谢谢

最佳答案

遗憾的是,Trip Advisor 不提供将搜索字符串转换为位置 ID 的方法。不过,Trip Advisor 允许您通过纬度/经度搜索附近的结果,输入 map/ endpoint 。在响应中将有一个“Ancestors”对象,如下所示:

"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收集方法好得多)

关于php - Trip Advisor API 按位置名称搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29487195/

相关文章:

c# - 如何使用 C# API 移动 TFS 文件?

node.js - 如何使用微软认知 API 进行语音转文本?

java - Google 表格 API 错误

javascript - JS 变量是否不受用户操作的影响?

php - 在 PHP 中压缩 PNG 文件

php - 将 php 函数传递给 linux 变量

php - Yii2 REST API 作为模块路由配置

php - 在带有数组的准备语句中进行重复键更新

php - 将 foreach 值添加到 Ajax

json - 如何防止用户代理显示无法识别的 MIME 类型的下载窗口?