facebook - recuperar - como saber en que fotos esta etiquetada una persona
Cómo recuperar TODAS las fotos de Facebook en las que está etiquetada una persona (2)
Aquí está mi experiencia con la API de Facebook ...
Si establece un límite, no obtendrá más que eso. Sin embargo, un límite grande sin duda le dará menos de lo que solicitó a pesar de que hay más. Todo Facebook parece funcionar según el principio de "lo suficientemente bueno" cuando se trata de responder a consultas API. Si solicita 5000 elementos y después de 5-15 segundos, el sistema solo puede recuperar 350, entonces es probable que lo recupere. También parece haber un límite en el tamaño del contenido. Entonces, el límite depende por completo del tipo de contenido que está consultando y no es una cantidad fija. Es posible decir limit=5
y solo obtener 4 elementos (incluso cuando existen más).
limit=0
solía dar tantas respuestas como fuera posible, pero no estoy seguro de si todavía funciona. También puede usar since
/ until
que sea más específico sobre los elementos que desea recuperar. Pero independientemente, no hay manera de saber si has obtenido todas las respuestas posibles.
Sé que puede agregar valores de límite y desplazamiento a la llamada graph.facebook.com/id/photos API para paginar a través de fotos. Pero los grandes límites no parecen funcionar bien, las fotos terminan desaparecidas. Leí aquí que limit = 0 le da todas las fotos, pero de nuevo faltarán fotos. Entonces, ¿cuál es el límite más grande que puede usar de manera confiable? ¿Cuál es la forma correcta de recuperar TODAS las fotos?
¿Hay documentación sobre los límites del límite?
Enfrenté el mismo problema en nuestra aplicación. "me / photos" no proporciona datos completos. Uno puede entender el permiso asociado con las fotos pero luego también "yo / fotos" no devuelve ni siquiera las fotos con permiso "público".
Pudimos resolver este problema tomando el siguiente enfoque. Ahora nuestra aplicación devuelve todas las fotos etiquetadas excepto las que tienen permiso restrictivo.
Primero encontramos la lista de ID de fotos en las que el usuario está etiquetado usando FQL. Esto se puede lograr de la siguiente manera.
FB.api({
"method": ''fql.query'',
"query": ''select object_id from photo_tag where subject=me()''
}
,function(resp)
{
}
La API anterior dará los ID de las fotos en las que el usuario está activo. Ahora, una vez que la ID está disponible, los detalles de la foto se pueden buscar de la siguiente manera.
FB.api({
"method": ''fql.query'',
"query": ''select object_id from photo_tag where subject=me()''
}
,function(resp)
{
var photoId = resp.object_id;
FB.api("/" + photoId, function(data){////DO THE PROCESSING/////////////});
}
El proceso anterior implica una mayor cantidad de solicitudes a Facebook, pero hasta ahora esta es la única forma en que nos hemos dado cuenta de que buscamos todas las fotos etiquetadas posibles.