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

Node.js中Yelp Fusion分类筛选失效:指定Restaurants返回公园类结果

解决Yelp Fusion商家搜索分类筛选失效的问题

嘿,我刚好碰到过类似的问题!你设置了categories:"Restaurants"却收到公园、游乐场这类非餐厅结果,核心问题出在Yelp Fusion API对分类参数的严格要求上,下面给你一步步解决:

1. 用对分类的「别名」(全小写)

Yelp的categories参数不认你写的"Restaurants"这个显示标题,它只认官方定义的小写别名——也就是"restaurants"。你把参数值改成全小写的别名就好,这是最关键的一步。

2. 修正后的代码示例

直接调整你的搜索请求对象:

function yelpSearchReuslt(latitude, longitude, radius, listOfResult) {
  const searchRequest = {
    categories: "restaurants", // 这里改成小写的别名
    latitude: latitude,
    longitude: longitude,
    radius: radius
  };
  const client = yelp.client(API_KEY);
  client.search(searchRequest).then(response => {
    const firstResult = response.jsonBody.businesses;
    // 后续处理逻辑
  })
}

3. 可选:客户端二次过滤兜底

要是担心API偶尔还有漏网之鱼,可以在拿到返回结果后,自己再做一层过滤,只保留确实属于餐厅类的商家:

client.search(searchRequest).then(response => {
  const allBusinesses = response.jsonBody.businesses;
  // 过滤出分类里包含restaurants别名的商家
  const onlyRestaurants = allBusinesses.filter(biz => 
    biz.categories.some(cat => cat.alias === "restaurants")
  );
  // 接下来用onlyRestaurants做处理就好
});

为啥原来的代码没用?

当你传入"Restaurants"这种未被API识别的取值时,它会直接忽略这个筛选条件,相当于你没设置分类,自然就返回了附近所有类型的商家,这就是公园、游乐场出现在结果里的原因。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:58:59