获取酒店实时价格“ApiKey无效”错误

时间:2016-09-07 16:36:50

标签: skyscanner

我正在尝试获取当前酒店价格列表但我无法获得API密钥。我已经有几天了,所以我知道它不是太新。我甚至在文档中尝试了这个例子(在修复日期之后):

http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v2/UK/EUR/en-GB/27539733/2016-12-04/2016-12-10/2/1?apiKey=myKey

虽然它适用于演示键,但它不适用于我的。我也尝试使用ec2 micro我正在使用Python进行测试并得到一个回复​​你'{“errors”:[“ApiKey invalid”]}':

SKY_SCAN_URL = "http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v2/"
sky_key = get_sky_scan_key()
def get_hotels(request):
        entityid = request.GET['entityid']
        checkindate = date_formatter(request.GET['start'])
        checkoutdate = date_formatter(request.GET['end'])
        rooms = request.GET['rooms']
        guests = request.GET['guests']
        FINAL_SKY_URL = "%s/%s/%s/%s/%s/%s/%s/%s/%s/?apiKey=%s" % (
            SKY_SCAN_URL, 'US', 'USD', 'en-US', entityid, checkindate, checkoutdate, guests, rooms, sky_key)

        sky_response = requests.get(FINAL_SKY_URL)

此函数输出带有以下URL的get请求: http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v2//US/USD/en-US/20.7983626,-156.3319253-latlong/2016-09-07/2016-09-14/1/1/?apiKey=myKey

关于可能出现的问题的任何建议都会很棒,谢谢!

编辑: 更具体地说,我正在寻找我的API密钥无效的原因。我不熟悉skyscan,当我通过点击旅行api从skyscanner仪表板添加了一个应用程序并将密钥复制到我的项目中并直接进入一个有效的URL我的密钥显示为坏。是否还需要考虑其他步骤或事项?

4 个答案:

答案 0 :(得分:0)

我不知道你是如何创建URL的,但似乎不应该以这种方式构建它。 (很可能是因为他们误导了文件)

此:

http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v3/?apiKey=myKey&checkoutdate=2016-09-14&checkindate=2016-09-07&currency=USD&rooms=1&entityid=20.7983626%2C-156.3319253-latlong&local=en-US&market=US&guests=1

应该是:

http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v3/US/USD/en-US/20.7983626,-156.3319253-latlong/2016-09-07/2016-09-14/1/1/?apiKey=myKey

您的代码应该是:

SKY_SCAN_URL = "http://partners.api.skyscanner.net/apiservices/hotels/liveprices/v3/"
FINAL_URL = "%s/%s/%s/%s/%s/%s/%s/%s/%s/?apiKey=%s" % (SKY_SCAN_URL, market, currency, locale, entityid, checkindate, checkoutdate, guests, rooms, apiKey)

sky_response = requests.get(FINAL_URL)

我还建议你做一些测试here

答案 1 :(得分:0)

从17天前的帮助网站 - https://support.business.skyscanner.net/hc/en-us/articles/209452689-Why-is-my-API-key-returning-no-results-for-hotels-

“我们的酒店API目前正在重新设计,目前无法访问。对于任何不便表示歉意,当新API准备就绪时,我们将更新Skyscanner for Business网站,因此请查看更新。 “

不清楚这种情况何时发生变化。

答案 2 :(得分:0)

自2017年4月起,skyScanner开始重新设计其Hotels API,从而停止对LIVE Pricing API的所有正在进行的API调用: https://support.business.skyscanner.net/hc/en-us/articles/209452689-Why-is-my-API-key-returning-no-results-for-hotels- 酒店和航班缓存定价和浏览服务仍然有效,但我不确定它是否适合您的商业案例。

答案 3 :(得分:0)

Skyscanner似乎最近更新了他们的酒店API,文档可以在这里找到:https://skyscanner.github.io/slate/#hotels-live-prices