2011-12-15 24 views
6

Obtengo resultados inesperados de las consultas de la API al incluir un parámetro categoryId.Cómo usar categoryId en Foursquare Seues search API

Por ejemplo, cuando se utilizan los siguientes parámetros de búsqueda de 'The Citizen Public House' en Boston, MA

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

Los resultados terminan incluyendo sedes de otras categorías, como 'bancos'. ¿Hay algún problema con el parámetro categoryId? En la documentación de la API, se etiqueta 'experimental'. ¿Lo estoy usando incorrectamente?

FYI: Estoy usando la gema de quimby para interactuar con la API foursquare a través de una aplicación de rieles.

Gracias!

Respuesta

6

Si el lugar que estás buscando es

ciudadana Public House & Oyster Bar

Entonces que estaba utilizando el mal :(categoryId
Las categorías tienen una jerarquía, y es la búsqueda hecho por él.

Específicamente, 4bf58dd8d48988d116941735 es la categoría de barras
Ese lugar es un W hisky Bar, ID de categoría: 4bf58dd8d48988d122941735

Por qué han devuelto los bancos, no estoy seguro :) Estoy casi seguro de que al buscar con una consulta, el motor foursquare obliga a los resultados a coincidir con la consulta, independientemente de otros filtros.

Debería download all categories y ver el árbol de categorías para comprender mejor qué ID usar.
Tenga en cuenta que puede buscar la categoría Vida nocturna 4d4b7105d754a06376d81259 que tiene todas las barras incluidas, ya que está buscando con una consulta debe encontrar lo que está buscando (también puede probar con intent=match o navegar y un radio como bien).

+0

Las restricciones de categoría y las consultas deberían funcionar al mismo tiempo. Investigaremos para ver si hay un error en ese comportamiento. – akdotcom

+1

lo siento, escogí la categoría incorrecta Id para mi ejemplo. También realicé la consulta con la categoría de vida nocturna ID y también la que está arriba en el árbol, que creo que es comida. En todos los casos, mi consulta arrojó bancos y otros resultados espurios. – istan

+0

Estoy viendo el mismo comportamiento. Utilizo el ID de categoría de comida de nivel superior: 4d4b7105d754a06374d81259, pero veo resultados para lugares en otras categorías. –

0

Parece que todos los categoryIDs en foursquare son iguales. Acabo de buscar un aeropuerto y dejé que me diera su categoryID y luego hice lo mismo con los bares. Ambos tenían el mismo ID de categoría.

Encontré un ID de categoría diferente (4eb1bc533b7b2c5b1d4306cb Airport Lounge) y cuando lo usaba como filtro, solo obtenía resultados con este ID.

3

Súper tarde, pero encontré que si pone el parámetro categoryId directamente después de ...search? y antes de los parámetros de autenticación y versión, funciona.

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

+1

gracias! esto realmente ayuda – Amituuush