educarlabs / api

API Pública
2 stars 0 forks source link

Paginacion #1

Open tario opened 9 years ago

tario commented 9 years ago

Buenas, estoy consumiendo el API y solo me trae 10 elementos

Esta es la URL: https://api.educ.ar/0.9/conectate/deportv?key=111111111111111111111111111111111

Se supone que encontro aprox 7000 items, me parece que me falta especificar algun parametro de paginacion, pero en la documentacion no veo cual seria http://datosabiertos.educ.ar/documentacion/

julpar commented 9 years ago

Hola tario,

Probá con el parámetro "offset" indicando a el resultado a partir del cual querés que empiece el resultset.

ej: https://api.educ.ar/0.9/conectate/deportv?key=&offset=10

tario commented 9 years ago

Gracias!, y si quiero modificar el tamaño de pagina?, supongamos que me interese traer todos los resultados en un solo request, si resuelvo eso por mi este issue se da por cerrado

julpar commented 9 years ago

En ese caso el parámetro que podés usar es "limit"

ej: https://api.educ.ar/0.9/conectate/deportv?key=&offset=10&limit=50

No recuerdo el número exacto pero se que hay un límite de la cantidad de registros que podés recuperar en un solo request.

Gracias por tu consulta, todo esto lo deberíamos volcar en la doc :)

2015-07-07 10:51 GMT-03:00 Dario Seminara notifications@github.com:

Gracias!, y si quiero modificar el tamaño de pagina?, supongamos que me interese traer todos los resultados en solo request, si resuelvo eso por mi este issue se da por cerrado

— Reply to this email directly or view it on GitHub https://github.com/educardev/api/issues/1#issuecomment-119207305.

tario commented 9 years ago

Una ultima consulta

Por lo visto el API no permite un limite mayor que 40

Por ej, con esta consulta obtengo efectivamente los 30 registros https://api.educ.ar/0.9/conectate/deportv?key=XXXXXXXX&limit=30

Pero con esta otra consulta, solo obtengo 10 (el parametro limit aparentemente es ignorado y se toma el default que es de 10) https://api.educ.ar/0.9/conectate/deportv?key=XXXXXXXX&limit=40

Por lo que en un principio, concluyo que no podria traer todos los registos en una sola request (podria arreglarmelas con esa limitacion, pero si existe la manera de hacerlo me facilitaria las cosas). Igual como sea, gracias por la ayuda

julpar commented 9 years ago

Tario,

La API tiene esa limitación de tamaño porque el set de resultados tiene que ser algo determinístico.

Tal vez 40 resultados en la práctica resulte algo bajo, pero todas las APIs imponen algún tipo de limitación en este sentido por lo que que de una forma en cada fetch que implique grandes datasets es difícil zafar de tener que hacer el bucle.

tario commented 9 years ago

Ok, con eso no hay problema

Encontre otra cosa que queda algo confuso, con este request: https://api.educ.ar/0.9/conectate/deportv?key=XXXX&limit=10&offset=999

Devuelve solo 1 registro, lo que me es algo confuso es que en "results" dice que el total es de 7111 (es la cantidad de resultados que devuelve la query, no?), sin embargo el endpoint, usando los parametros de paginacion y la cantidad de request que sean necesarias, solo me devuelve 1000 registros, exactamente 1000 me llamaba la atencion. ¿No puedo obtener los 7111 aunque sea en multiples requests? ¿o entendi mal el tema del total?

julpar commented 9 years ago

Aparentemente hay algún otro límite del que no estoy al tanto.

Ni bien me pueda hacer un tiempo lo analizo en más profundidad y te cuento.

LauraTBX commented 8 years ago

Julpar, pudieron encontrar una solucion para las consultas de Tario?