You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Yelp Fusion官方sample.py调用API无结果问题排查求助

Yelp Fusion API调用无结果排查方案

你遇到的这个问题我之前帮朋友排查过,大概率是请求参数、密钥或者响应状态的问题,我给你整理几个针对性的排查步骤:

1. 先把响应的完整信息打出来,定位核心问题

你目前只看到了请求发起的提示,看不到响应细节,这很难判断问题。你可以修改search函数,把响应状态码和原始内容都打印出来,代码如下:

def search(api_key, term, location):
    url = 'https://api.yelp.com/v3/businesses/search'
    headers = {
        'Authorization': f'Bearer {api_key}',
    }
    params = {
        'term': term,
        'location': location,
        'limit': 50
    }
    # 新增打印请求参数,确认参数格式
    print(f"当前请求参数: {params}")
    response = requests.get(url, headers=headers, params=params)
    # 新增打印状态码和响应内容
    print(f"响应状态码: {response.status_code}")
    print(f"原始响应内容: {response.text}")
    return response.json()

运行后看状态码就能快速定位:

  • 如果是401:说明你的API密钥肯定有问题,检查复制的时候有没有带空格、换行,或者密钥本身过期/无效
  • 如果是400:大概率是term或location参数不合法,比如location格式不对,或者term是空字符串
  • 如果是429:你超过了Yelp的免费调用额度,去开发者后台看看配额用了多少

2. 确认API密钥的有效性和权限

有时候刚创建的Yelp应用,密钥需要等几分钟才能生效,如果你是刚生成的密钥,不妨等10分钟再试。另外,去你的Yelp开发者后台确认这个密钥对应的应用确实启用了Fusion API的权限。

3. 排查网络和环境问题

如果你的电脑在公司内网或者用了代理,可能会拦截请求。你可以直接用Postman或者浏览器的开发者工具手动发请求测试:

  • 请求地址:https://api.yelp.com/v3/businesses/search?term=coffee&location=San+Francisco
  • 请求头加上:Authorization: Bearer 你的API_KEY
    如果这个手动请求也失败,那就是网络或者密钥的问题;如果成功,那就是代码里的参数或者依赖有问题。

4. 检查依赖和参数格式

确保你的requests库是最新版本,旧版本可能有兼容性问题:

pip install --upgrade requests

另外,试试用英文地址(比如"Shanghai, CN")和简单的关键词(比如"restaurant")测试,避免中文参数编码导致的问题。

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:17:23