我刚刚注册了我的测试应用程序,得到了Api密钥和Api秘密。我试图使用Python发送请求:
from amadeus import Client, ResponseError
amadeus1 = Client(
client_id='my_API_key_here',
client_secret='my_secret_key_here'
)
response = amadeus1.reference_data.locations.airports.get(longitude=49.000, latitude=2.55)
print(response.data)我收到网络错误。我做错了什么?
发布于 2019-01-09 09:30:43
编辑
这个问题来自开发环境中的SSL证书问题。
我无法重现这个问题,API似乎起作用了。您的示例返回一个空数组,因为测试环境中的数据有限。对于这个API,所涵盖的国家是:美国、西班牙、英国、德国和印度。
所以如果你尝试一下伦敦的地理定位
回应= amadeus1.reference_data.locations.airports.get(longitude=0.1278,latitude=51.5074)
如您所见,响应包含数据。
但我没有网络问题。如果您仍然面临这个问题,请通过我们的门户联系我们的支持,分享您的用户名,以便我们可以检查您的API密钥和API秘密。
发布于 2021-02-16 06:45:40
几天前我又遇到了这个问题。我的问题是从本地环境发送请求。它试图验证SSL,这导致了问题。
我通过包含一个“未经验证的上下文”来解决这个问题,这个上下文将被urlopen使用。这不应该在生产环境中使用。它可以从本地机器向Amadeus测试和生产环境发出请求。
import ssl
def ssl_disabled_urlopen(endpoint):
context = ssl._create_unverified_context()
return urlopen(endpoint, context=context)
amadeus = Client(
client_id = '<client_id>',
client_secret = '<client_secret>',
http=ssl_disabled_urlopen
)https://stackoverflow.com/questions/54104627
复制相似问题