【发布时间】:2018-03-23 05:46:29
【问题描述】:
我已经为 Heroku 制作了一个 Uber 应用程序的分支
我的叉子:https://github.com/CuriosityGym/Python-Sample-Application
我已经修改了原始代码和 /price URL,以使用此处记录的 /requests/estimates 端点 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 版本的代码的 sn-p。其他端点工作正常,它的这个不起作用。
打印语句打印到 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报错是
{"message":"无法解析请求正文中的 JSON。","code":"invalid_json"}
【问题讨论】:
-
JSON 不允许使用单引号。
-
...顺便说一句,您真的在这里发布了您的访问令牌吗?
-
不,访问令牌已被修改。
-
我的代码有双引号,我想知道它们是怎么变成单身的。
标签: python json heroku uber-api