Acceder a un elemento más allá de start_index = 1000 en un feed de subida de usuarios de YouTube
Actualmente estoy intentando extraer datos sobre videos de un feed de subida de usuarios de YouTube. Esta fuente contiene todos los videos subidos por un determinado usuario, y se accede desde la API mediante una solicitud para:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads
Donde USERNAME es el nombre del usuario de YouTube que posee el feed.
Sin embargo, me he encontrado con problemas al intentar acceder a feeds que tienen más de 1000 videos. Dado que cada solicitud a la API puede devolver 50 elementos, estoy iterando a través de la fuente usando max_length y start_index de la siguiente manera:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=1&max-results=50&orderby=published
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=51&max-results=50&orderby=published
Y así sucesivamente, incrementando el start_index en 50 en cada llamada. Esto funciona perfectamente hasta que:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=1001&max-results=50&orderby=published
En ese momento recibo un error 400 que me informa que 'No puede solicitar más allá del artículo 1000'. Esto me confundió ya que asumí que la consulta solo habría devuelto 50 videos: 1001-1051 en el orden de los más recientemente publicados. Habiendo mirado a través de ladocumentación, Descubrí esto:
Límites en el recuento de resultados y resultados accesibles
...
Para cualquier consulta dada, no podrá recuperar más de 1,000 resultados, incluso si hay más que eso. La API devolverá un error si intenta recuperar más de 1,000 resultados. Por lo tanto, la API devolverá un error si establece el parámetro de consulta de índice de inicio en un valor de 1001 o mayor. También devolverá un error si la suma de los parámetros de índice de inicio y resultados máximos es mayor que 1,001.
Por ejemplo, si establece el valor del parámetro de índice de inicio en 1000, entonces debe establecer el valor del parámetro de resultados máximo en 1, y si establece el valor del parámetro de índice de inicio en 980, entonces debe configurar el parámetro de resultados máximos Valor a 21 o menos.
No sé cómo acceder a la última vez que se subió el video 1001 de un usuario genérico y más allá de una manera consistente, ya que no se pueden indexar utilizando solo los resultados máximos y el índice de inicio. ¿Alguien tiene alguna sugerencia útil para evitar este problema? Espero que haya esbozado la dificultad claramente!