He estado experimentando con la API de Facebook con el Javascript SDK. Cada vez que estoy conectado a Facebook que pueda llamar bastante fiable:https://graph.facebook.com/me/albums a veces no devuelve nada
function init() {
// Called after loading the Facebook SDK
FB.api("/me", function(response) {
console.log(response.first_name); // "John" (always works)
});
}
Pero también quiero conseguir un usuarios de álbumes de fotos (cuando hacen clic en un enlace) y por alguna razón esta llamada sólo funciona de forma intermitente:
$(document).ready(function) {
$("#get-albums-link").click(function() {
var accessToken = "456"; // Just an example
FB.api("/me/albums?access_token=" + accessToken, function(response) {
console.log(response); // An empty object about 40% of the time
});
});
});
Cuando esto sucede puedo abrir una nueva pestaña y verificar que incluso las consultas directas devuelvan el mismo resultado vacío (tenga en cuenta que aunque esto podría ser un problema de autorizaciones, no hay una indicación obvia de que lo sea, es simplemente un vacío Objeto JSON):
<!-- An HTTPS GET at https://graph.facebook.com/me/albums?access_token=456 -->
{
"data": [
]
}
¿Estás seguro de que access_token que estás usando tiene permiso para las fotos? –
No he pasado tiempo con el almacenamiento en caché de la API de Facebook, pero he visto el mismo problema con las llamadas ajax() de jQuery. Llamar explícitamente las consultas con jsonp o establecer un indicador de nocache ayuda al navegador a continuar realizando llamadas. Es posible que desee comenzar con un control de caché de Facebook –
@FelipeBrahm, debe ser un access_token correcto, porque después de todo, a veces obtengo un objeto Álbumes. Es solo que otras veces, yo no. Definitivamente podría ser un problema de almacenamiento en caché, dado que parece funcionar correctamente durante unos 15 minutos antes de devolver objetos vacíos. Si espero 20 minutos y actualizo, generalmente funciona de nuevo por otros 15 minutos. – Andrew