Yelp 中的类别搜索在 nodejs 中未正确过滤。我给的类别是 "Restaurants" 但我的 o/p 是:公园和游乐场
Category Search in Yelp is not Filtering properly in nodejs. I have given category as "Restaurants" but my o/p is : parks and Playgrounds
我一直在尝试在 yelp 融合中实现业务搜索。但是我无法得到结果,我已经给出了类别以便进行过滤
代码:
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;
})
在 o/p 中,我得到了游乐场和公园等类别
o/p:
{
"id": "U2lT4qo4R80vsYKUFaBoCA",
"alias": "lost-hills-wonderful-park-lost-hills",
"name": "Lost Hills Wonderful Park",
"image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/t5y8zHqDfx5mN2v7wtvUxw/o.jpg",
"is_closed": false,
"url": "https://www.yelp.com/biz/lost-hills-wonderful-park-lost-hills?adjust_creative=KOlGv8v3EO9ZpCUlYru9eg&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=KOlGv8v3EO9ZpCUlYru9eg",
"review_count": 10,
"categories": [
{
"alias": "playgrounds",
"title": "Playgrounds"
},
{
"alias": "parks",
"title": "Parks"
}
],
"rating": 4.5,
"coordinates": {
"latitude": 35.6164124330499,
"longitude": -119.689275188145
},
"transactions": [],
"location": {
"address1": "14688 Lost Hills Rd",
"address2": "",
"address3": "",
"city": "Lost Hills",
"zip_code": "93249",
"country": "US",
"state": "CA",
"display_address": [
"14688 Lost Hills Rd",
"Lost Hills, CA 93249"
]
},
"phone": "+16614482149",
"display_phone": "(661) 448-2149",
"distance": 13784.418058437912
}
看来你已经快搞定了。您只需要使用 'categories' 的标识符,而不是基于 documentation for the categories parameter 的名称,它表示:
"The value in parenthesis should be used when specifying a search category input."
在你的情况下使用 restaurants
而不是 Restaurants
。在上面的代码中,将 searchRequest
的定义更改为:
const searchRequest = {
categories:"restaurants",
latitude:latitude,
longitude:longitude,
radius:radius
};
希望对您有所帮助!
-达林
function yelpSearchReuslt(latitude,longitude,radius,ResultCount){
var request = require("request");
var options =
{
method: 'GET',
url: YELP_URL+latitude+"&longitude="+longitude+"&term="+"Restaurants"+"&limit="+ResultCount+"",
headers:
{
authorization:API_KEY
},
body: '{}'
};
request(options, function (error, response, body){
if (error) {
res.status(400).json({MESSAGE:MESSAGE})
}
}
您需要将类别更改为术语并编辑答案
function yelpSearchReuslt(latitude,longitude,radius,listOfResult){
const searchRequest = {
term:"Restaurants",
latitude:latitude,
longitude:longitude,
radius:radius
};
const client = yelp.client(API_KEY);
client.search(searchRequest).then(response => {
const firstResult = response.jsonBody.businesses;
})
我一直在尝试在 yelp 融合中实现业务搜索。但是我无法得到结果,我已经给出了类别以便进行过滤 代码:
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;
})
在 o/p 中,我得到了游乐场和公园等类别 o/p:
{
"id": "U2lT4qo4R80vsYKUFaBoCA",
"alias": "lost-hills-wonderful-park-lost-hills",
"name": "Lost Hills Wonderful Park",
"image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/t5y8zHqDfx5mN2v7wtvUxw/o.jpg",
"is_closed": false,
"url": "https://www.yelp.com/biz/lost-hills-wonderful-park-lost-hills?adjust_creative=KOlGv8v3EO9ZpCUlYru9eg&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=KOlGv8v3EO9ZpCUlYru9eg",
"review_count": 10,
"categories": [
{
"alias": "playgrounds",
"title": "Playgrounds"
},
{
"alias": "parks",
"title": "Parks"
}
],
"rating": 4.5,
"coordinates": {
"latitude": 35.6164124330499,
"longitude": -119.689275188145
},
"transactions": [],
"location": {
"address1": "14688 Lost Hills Rd",
"address2": "",
"address3": "",
"city": "Lost Hills",
"zip_code": "93249",
"country": "US",
"state": "CA",
"display_address": [
"14688 Lost Hills Rd",
"Lost Hills, CA 93249"
]
},
"phone": "+16614482149",
"display_phone": "(661) 448-2149",
"distance": 13784.418058437912
}
看来你已经快搞定了。您只需要使用 'categories' 的标识符,而不是基于 documentation for the categories parameter 的名称,它表示:
"The value in parenthesis should be used when specifying a search category input."
在你的情况下使用 restaurants
而不是 Restaurants
。在上面的代码中,将 searchRequest
的定义更改为:
const searchRequest = {
categories:"restaurants",
latitude:latitude,
longitude:longitude,
radius:radius
};
希望对您有所帮助!
-达林
function yelpSearchReuslt(latitude,longitude,radius,ResultCount){
var request = require("request");
var options =
{
method: 'GET',
url: YELP_URL+latitude+"&longitude="+longitude+"&term="+"Restaurants"+"&limit="+ResultCount+"",
headers:
{
authorization:API_KEY
},
body: '{}'
};
request(options, function (error, response, body){
if (error) {
res.status(400).json({MESSAGE:MESSAGE})
}
}
您需要将类别更改为术语并编辑答案
function yelpSearchReuslt(latitude,longitude,radius,listOfResult){
const searchRequest = {
term:"Restaurants",
latitude:latitude,
longitude:longitude,
radius:radius
};
const client = yelp.client(API_KEY);
client.search(searchRequest).then(response => {
const firstResult = response.jsonBody.businesses;
})