Получите информацию о пользователе API JSON Facebook Graph с помощью jQuery - PullRequest
5 голосов
/ 22 июня 2011

Я пытаюсь использовать API графа, чтобы получить только некоторую основную информацию о пользователе, не требуя авторизации пользователя, только публичные данные.Я пытаюсь использовать jQuery и .getJSON для получения и анализа данных, но мне трудно понять, как получить доступ к парам ключ-значение, которые я хочу.

Я хочу получить что-то вроде

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>");
  });
});

Я пробовал такие вещи, как item.name и кучу других, которые я считал возможными вариантами синтаксиса, но все еще не определен.Имею опыт использования JSON с Twitter API, который отлично работает с вышеуказанным подходом.

Когда я консоль данных журнала, я получаю что-то вроде этого

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

Ответы [ 2 ]

3 голосов
/ 22 июня 2011

Он не возвращает массив, но объект.Вам не нужно ничего зацикливать.

Вы можете просто получить имя прямо из объекта:

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

пример: http://jsfiddle.net/niklasvh/Wm9M3/

PSу вас также была синтаксическая ошибка с $("#profile").append("<h3>"+name+"</h3>"); (вы забыли + вокруг name)

2 голосов
/ 22 июня 2011

Вы должны использовать jsonP для междоменных проблем:

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

Fiddle: http://jsfiddle.net/maniator/34m9J/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...