我所做的尤伯杯應用的一個分支對Heroku的尤伯杯API報告JSON是/請求無效/估計端點
我的叉子:https://github.com/CuriosityGym/Python-Sample-Application
我已經修改了原代碼和/價格網址使用此處記錄的/ requests/estimate端點https://developer.uber.com/docs/riders/references/api/v1.2/requests-estimate-post,獲得特定產品ID的價格估算值。
@app.route('/price', methods=['GET'])
def price():
"""Example call to the price estimates endpoint.
Returns the time estimates from the given lat/lng given below.
"""
url = config.get('base_uber_url') + 'requests/estimate'
params = {
"product_id": "83941b0d-4be1-4979-a9c0-f0af5ee2b89b",
"start_latitude": config.get('start_latitude'),
"start_longitude": config.get('start_longitude'),
"end_latitude": config.get('end_latitude'),
"end_longitude": config.get('end_longitude')
}
print params
print generate_ride_headers(session.get('access_token'))
response = app.requests_session.post(
url,
headers=generate_ride_headers(session.get('access_token')),
data=params
)
return render_template(
'results.html',
endpoint='price',
data=response.text,
)
這是我的代碼片段,它使用Uber Api的1.2版本。其他終點工作正常,其中這一個不起作用。
的打印語句打印到Heroku的日誌,這是輸出
{'product_id': '83941b0d-4be1-4979-a9c0-f0af5ee2b89b', 'end_longitude': '72.8811862', 'start_latitude': '18.936404', 'end_latitude': '19.0822507', 'start_longitude': '72.832546'}
{'Content-Type': 'application/json', 'Authorization': 'Bearer KA.eyJ2ZXJzaW9uIjkgsdshdJpZCI6IkNmcjAvRzhrUUNPaDNhSnRsUVZ6QlE9PSIsImV4cGlyZXNfYXQiOjE1MTAzMjA3NzgsInBpcGVsaW5lX2tleV9pZCI6Ik1RPT0iLCJwaXBlbGluZV9pZCI6MX0.JDoDTgaYJitK8Rtr35C6gTh5IQc7-P4T7mGg_wOYXu0'}
由API報告的錯誤是
{「消息」:「無法在請求體解析JSON」 ,「code」:「invalid_json」}
JSON不允許單引號。 –
...順便說一下,你真的在這裏發佈你的訪問令牌嗎? –
不,那個訪問令牌已被修改。 –