微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Amadeus Airport Search 自动完成 API 时出现 503:“服务不可用”

如何解决使用 Amadeus Airport Search 自动完成 API 时出现 503:“服务不可用”

为什么我的 503 服务不可用?

我正在列出我通过 python 做出的请求响应并启用日志

def origin_airport_search(request):    
    try:
        data = []
        data = amadeus.reference_data.locations.get(keyword=request.GET.get('term',None),subType=Location.ANY).data
    except ResponseError as error:
        messages.add_message(request,messages.ERROR,error)
    response = HttpResponse(get_city_airport_list(data),'application/json')
    response['Access-Control-Allow-Origin'] = '*'
    return response

def get_city_airport_list(data):
    result = []
    for i,val in enumerate(data):
        result.append(data[i]['iataCode']+','+data[i]['name'])
    result = list(dict.fromkeys(result))
    return json.dumps(result)
Request
{'app_id': None,'app_version': None,'bearer_token': 'Bearer j3LmvpBQAKf4ANo16LZlDA6H0IDd','client_version': '5.0.0','headers': {'Accept': 'application/json,application/vnd.amadeus+json','Authorization': 'Bearer j3LmvpBQAKf4ANo16LZlDA6H0IDd','Content-Type': 'application/vnd.amadeus+json','User-Agent': 'amadeus-python/5.0.0 python/3.7.9'},'host': 'test.api.amadeus.com','HTTP_Request': <urllib.request.Request object at 0x000001CBDDC54488>,'language_version': '3.7.9','params': {'keyword': 'kol','subType': 'AIRPORT,CITY'},'path': '/v1/reference-data/locations','port': 443,'scheme': 'https','ssl': True,'url': 'https://test.api.amadeus.com/v1/reference-data/locations?keyword=kol&subType=AIRPORT%2CCITY','verb': 'GET'}
Response
{'body': '{"errors":[{"status":503,"code":19,"title":"No available service for '
         'processing the request.","source":{"pointer":"uri"}}]}','data': None,'headers': <http.client.HTTPMessage object at 0x000001CBDDD35C88>,'http_response': <HTTPError 503: 'Service Unavailable'>,'parsed': True,'request': <amadeus.client.request.Request object at 0x000001CBDD8BD988>,'result': {'errors': [{'code': 19,'source': {'pointer': 'uri'},'status': 503,'title': 'No available service for processing the '
                                 'request.'}]},'status_code': 503}

编辑:它现在在 Windows 上工作可能是 amadeus 在测试环境中出现了一些严重错误。感谢安东尼提到这一点。

我需要另一个帮助 - 当我在 MAC 中运行相同的代码时,它给了我这个 ssl 错误响应。

Request
{'app_id': None,'bearer_token': None,'Content-Type': 'application/x-www-form-urlencoded','User-Agent': 'amadeus-python/5.0.0 python/3.9.2'},'HTTP_Request': <urllib.request.Request object at 0x109523fd0>,'language_version': '3.9.2','params': {'client_id': 'client-key','client_secret': 'client-secret','grant_type': 'client_credentials'},'path': '/v1/security/oauth2/token','url': 'https://test.api.amadeus.com/v1/security/oauth2/token','verb': 'POST'}
Response
{'body': None,'headers': {},'http_response': URLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_Failed] certificate verify Failed: self signed certificate in certificate chain (_ssl.c:1123)')),'parsed': False,'request': <amadeus.client.request.Request object at 0x109523e50>,'result': None,'status_code': None}

解决方法

我从 JS 尝试过,我也收到 503 错误。我是2021年3月3日试的,看来测试环境API还是坏的。

GET https://safer-trip.herokuapp.com/api/users/citySafetyScore/?city=BANGALORE 503 (Service Unavailable)
(anonymous) @ xhr.js:184
e.exports @ xhr.js:13
e.exports @ dispatchRequest.js:50
Promise.then (async)
u.request @ Axios.js:61
r.forEach.u.<computed> @ Axios.js:76
(anonymous) @ bind.js:9
onClick @ index.js:32
l @ react-dom.production.min.js:14
p @ react-dom.production.min.js:14
(anonymous) @ react-dom.production.min.js:14
y @ react-dom.production.min.js:15
at @ react-dom.production.min.js:52
ot @ react-dom.production.min.js:51
lt @ react-dom.production.min.js:52
pt @ react-dom.production.min.js:56
I @ react-dom.production.min.js:287
$ @ react-dom.production.min.js:19
Jt @ react-dom.production.min.js:70
Gt @ react-dom.production.min.js:69
t.unstable_runWithPriority @ scheduler.production.min.js:19
Vo @ react-dom.production.min.js:122
M @ react-dom.production.min.js:287
Xt @ react-dom.production.min.js:68
index.js:46 Error: Request failed with status code 503
    at e.exports (createError.js:16)
    at e.exports (settle.js:17)
    at XMLHttpRequest.p.onreadystatechange (xhr.js:69)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。