2011-12-15 12 views
6

I risultati ottengono risultati imprevisti dalle query API quando si include un parametro categoryId.Come utilizzare categoryId in API di ricerca Foursquare Venues

Per esempio, quando si utilizzano i seguenti parametri per la ricerca per 'The Citizen Public House' a Boston, MA

ll: 42.3489027315987, -71.096134185791 
query: citizen 
categoryId: 4bf58dd8d48988d116941735 <== 'bars' 

I risultati finiscono tra cui sedi da altre categorie, come 'banche'. C'è qualcosa di sbagliato nel parametro categoryId? Nella documentazione dell'API è etichettato come "sperimentale". Sto usando in modo improprio?

FYI: Sto usando il quimby gem per interfacciare l'API di foursquare tramite un'app per rails.

Grazie !!

risposta

6

Se il locale che stavi cercando è

Citizen Public House & Oyster Bar

Poi si stava utilizzando il categoryId sbagliato :(
Le categorie hanno una gerarchia, e la ricerca è

In particolare, 4bf58dd8d48988d116941735 è la categoria barre
Quel posto è un W hisky Bar, ID categoria: 4bf58dd8d48988d122941735

Perché le banche sono tornate, non sono sicuro :) Sono quasi sicuro che durante la ricerca con una query, il motore di quadriforia impone i risultati per abbinare la query, indipendentemente dagli altri filtri.

È necessario download all categories e vedere l'albero delle categorie per capire meglio quale ID utilizzare.
Nota, puoi cercare la categoria Vita notturna 4d4b7105d754a06376d81259 che contiene tutte le barre, poiché stai cercando con una query dovresti trovare quello che stai cercando (puoi anche provare a sperimentare con intent=match o navigare e un raggio come bene).

+0

Le restrizioni e le query di categoria devono funzionare contemporaneamente. Investigheremo per vedere se c'è un bug in quel comportamento. – akdotcom

+1

scusate, ho scelto la categoria sbagliata per il mio esempio. Ho anche eseguito la query con la categoria nightlife e anche quella sopra quella nell'albero, che credo sia il cibo. In tutti i casi la mia query ha restituito banche e altri risultati spuri. – istan

+0

Sto vedendo lo stesso comportamento. Uso il categoryID di livello superiore: 4d4b7105d754a06374d81259, ma vedo risultati per sedi in altre categorie. –

0

Sembra che tutti gli ID categoria di Foursquare siano gli stessi. Ho appena effettuato un sondaggio per un aeroporto e lasciato che mi dia il suo ID di categoria e poi ha fatto lo stesso per le barre. Entrambi avevano lo stesso ID di categoria.

Ho trovato un altro ID di categoria (4eb1bc533b7b2c5b1d4306cb Airport Lounge) e quando lo utilizzavo come filtro restituiva solo i risultati con questo ID.

3

Super tardi, ma ho scoperto che se si inserisce il parametro categoryId direttamente dopo ...search? e prima dei parametri di autenticazione e versione, funziona.

es. search?categoryId=123&client_id=456&client_secret=789&v=20140828

+1

grazie! questo aiuta davvero – Amituuush