Поиск по категории в Yelp не фильтрует должным образом в nodejs.Я дал категорию как "Рестораны", но мой o / p: парки и детские площадки - PullRequest
0 голосов
/ 26 мая 2018

Я пытался внедрить бизнес-поиск в yelp fusion.Но я не смог получить результаты, я дал категорию для того, чтобы получить отфильтрованный код:

            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 я получаю такие категории, как Playground и парки 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
        }

Ответы [ 3 ]

0 голосов
/ 05 июня 2018
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})
                       }
}
0 голосов
/ 05 июня 2018

Вам необходимо изменить категорию на термин и отредактировать ответ

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;
                })
0 голосов
/ 02 июня 2018

Похоже, ты почти понял.Вам просто нужно использовать идентификатор для «категорий», а не имя, основанное на документации для параметра категорий , которая гласит:

"Значение в скобках следует использовать, когдауказав ввод категории поиска. "

В вашем случае используйте restaurants вместо Restaurants.В приведенном выше коде измените определение для searchRequest на:

const searchRequest = {
         categories:"restaurants",
         latitude:latitude,
         longitude:longitude,
         radius:radius
      };

Надеюсь, это поможет!

-Darrin

...