2011-06-21 30 views
5

Intento utilizar la API de gráficos para obtener solo información básica sobre un usuario sin necesidad de autorización por parte del usuario, solo los detalles públicos. Intento usar jQuery y .getJSON para obtener los datos y analizarlos, pero me está costando mucho trabajo descubrir cómo acceder a los pares de valores clave que deseo.Obtener JSON Facebook Graph API User Info con jQuery

quiero tener algo así como

var fburl = "http://graph.facebook.com/USER/callback=?" 

$.getJSON(fburl, function(data){ 
    $.each(data, function(i,item){ 
    var name = item.user["name"]; 
    $("#profile").append("<h3>"name"</h3>"); 
    }); 
}); 

ive intentado cosas como item.name y un montón de otras lo que pensé que ser posibles opciones de sintaxis, pero sigue recibiendo indefinido.

¿Hay algún problema con este enfoque? Solo tengo experiencia en el uso de JSON con la API de Twitter, que funciona bien con el enfoque anterior.

Cuando consola de registro de datos me sale algo como esto

first_name: "First" 
gender: "male" 
id: "8977344590" 
etc... 
name: "Full Name" 
+0

¿qué se obtiene en el 'data' string? – Neal

Respuesta

3

No devuelve una matriz, sino un objeto. No necesitas dar vueltas sobre nada.

Usted sólo puede obtener el nombre directamente desde el objeto:

$.getJSON(fburl, function(data){ 
    var name = data["name"]; 
    $("#profile").append("<h3>"+name+"</h3>"); 
}); 

ejemplo: http://jsfiddle.net/niklasvh/Wm9M3/

PS. que tenía un error de sintaxis con $("#profile").append("<h3>"+name+"</h3>"); así (se le olvidó la + alrededor name)

+0

Gracias, me perdí ese error de sintaxis al truncar mi código para el ejemplo – BillPull

+0

¿Me puede ayudar si la URL es algo como este https://graph.facebook.com/?ids=http://www.bloggerever.com /2013/10/how-to-prevent-function-to-get-default.html Y quiero mostrar el número de recursos compartidos. Ayuda –

2

Usted tiene que usar jsonP por cuestiones de dominio cruzadas:

$.get(fburl, function(data){ 
    console.log(data); 
    alert(data.name); 
},'jsonp'); 

violín: http://jsfiddle.net/maniator/34m9J/

+1

$ .getJSON usa 'jsonp' si la url incluye la cadena" callback = ? " – Niklas

Cuestiones relacionadas