<p>较新的Yelp Fusion API(v3)对API的使用方式和返回的信息进行了一些更改。最短的是v2可以通过一个电话获得评论。v3需要两个调用。下面是我是如何让它工作的。你的里程可能不同。</p>
<pre><code>#Finding reviews for a particular restaurant
import http.client
import json
import urllib
headers = {
'authorization': "Bearer <access_token>",
'cache-control': "no-cache",
'postman-token': "<token>"
}
#need the following parameters (type dict) to perform business search.
params = {'name':'Neptune oyster', 'address1':'63 Salem St.', 'city':'Boston', 'state':'MA', 'country':'US'}
param_string = urllib.parse.urlencode(params)
conn = http.client.HTTPSConnection("api.yelp.com")
conn.request("GET", "/v3/businesses/matches/best?"+param_string, headers=headers)
res = conn.getresponse()
data = res.read()
data = json.loads(data.decode("utf-8"))
b_id = data['businesses'][0]['id']
r_url = "/v3/businesses/" + b_id + "/reviews" #review request URL creation based on business ID
conn.request("GET",r_url,headers=headers)
rev_res = conn.getresponse() #response and read functions needed else error(?)
rev_data = rev_res.read()
yelp_reviews = json.loads(rev_data.decode("utf-8"))
print(json.dumps(yelp_reviews, indent=3, separators=(',', ': ')))
</code></pre>