向Yelp API发送请求,询问已提供的参数

时间:2019-10-10 07:18:34

标签: python post yelp

尝试向POST,更具体地说,向Yelp API端点发送HOLDS请求。

文档:https://docs.developer.yelp.com/docs/endpoints-4

代码:

import requests
import json

api_key = someKey
headers = {'Authorization' : 'Bearer %s' % api_key}

url='https://api.yelp.com/v3/bookings/the-house-san-francisco/holds'
params = {'time': '12:45', 'date':'2019-10-11', 'covers':'4', 'unique_id':'test'}

req=requests.post(url, params=params, headers=headers)
print(json.loads(req.text))

继续出现以下错误:

{'error': {'code': 'VALIDATION_ERROR', 'description': 'covers is a required parameter.', 'field': 'covers', 'instance': None}}

我提供参数时为什么会发生这种情况有些困惑。现在一直在敲我的头,但仍然没有任何进展。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如您提供的文档中所述:

screenshot

“封面”的类型应为数字,但在您的代码中为字符串:

params = {'time': '12:45', 'date':'2019-10-11', 'covers':'4', 'unique_id':'test'}

尝试以数字形式发布有效载荷,就像他们说的那样:

params = {'time': '12:45', 'date':'2019-10-11', 'covers': 4, 'unique_id':'test'}

(请注意,我删除了单引号)。