【发布时间】:2016-09-07 16:36:50
【问题描述】:
我正在尝试获取当前酒店价格的列表,但我的 API 密钥无法正常工作。我已经用了几天了,所以我知道它不是太新。我什至尝试了文档中的示例(在确定日期之后):
虽然它适用于演示密钥,但不适用于我的。我还在用于测试 Python 的 ec2 micro 上进行了尝试,并得到了 u'{"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,虽然我通过单击 travel api 从 skyscanner 仪表板添加了一个应用程序,并将密钥复制到我的项目中并直接复制到有效的 url,但我的密钥显示为错误。我需要考虑任何其他步骤或事项吗?
【问题讨论】:
-
在请求之前尝试打印完整的 URL。检查是否可以直接在浏览器上打开。
-
@majidarif 我已经这样做了,但也没有运气。我继续在刚才的问题中添加了它,以供任何可能注意到它的格式化方式是否存在问题的人使用。
-
他们的文档有点误导,他们谈论的是
Query string,但实际上是 url 参数。添加了答案。
标签: skyscanner