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

Postman可正常调用Yelp接口但本地环境请求返回400错误如何解决?

400错误核心原因

你代码中Authorization请求头的Bearer令牌外多余包裹了{}符号,Yelp Fusion API无法识别格式错误的身份凭证,因此返回400错误。你在Postman中发送请求时没有添加这对大括号,所以请求可以正常响应。

其他可能导致该错误的次要原因:

  • 请求参数存在未编码的特殊字符
  • 额外添加了API不支持的自定义请求头
排查修复方案
  • 首先修正身份验证头格式,删掉API Key外的大括号,修改后的代码如下:
function sendRequest () {
   var xhr = new XMLHttpRequest();
   xhr.open("GET", "https://api.yelp.com/v3/businesses/search?term=delis&latitude=37.786882&longitude=-122.399972",true);
   xhr.setRequestHeader("Accept","application/json");
   // 去掉API Key外的大括号
   xhr.setRequestHeader("Authorization", "Bearer i6LdgRRNDolECGnS0Q7MQf5c3-nNV9rciQdmNy6x0jBFGtBv8DlnCSd2erPEOlKOb6m63MFMj0UzEEINB58fmdZBgy0bW75qfrb4BtRQxZGFcmqczb3vFXjK6G9qYXYx");
   xhr.onload = function(){
      if(this.status == 200){
         var users = JSON.parse(this.responseText);
         console.log(users)
      } else {
        // 新增错误日志打印,方便后续定位问题
        console.log('请求失败,状态码:', this.status, '错误信息:', this.responseText)
      }
   }
   xhr.send(null);
}
  • 若修改后仍报错,可查看控制台打印的错误响应内容,Yelp API会在响应体中返回具体的错误说明,比如参数缺失、权限不足等,可根据提示进一步调整。
  • 若后续需要传入中文、特殊符号作为搜索参数,需要对query参数做URL编码处理,避免参数解析错误。
  • 注意:Yelp Fusion API官方不支持前端直接调用,仅调试阶段可通过禁用CORS测试,生产环境必须通过后端服务代理转发请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:54:07