2011-06-21 35 views
5

Tôi đang cố gắng sử dụng API biểu đồ để chỉ nhận một số thông tin cơ bản về người dùng không cần người dùng ủy quyền chỉ các chi tiết công khai. Tôi đang cố gắng sử dụng jQuery và .getJSON để có được dữ liệu và phân tích cú pháp nó nhưng tôi đang gặp khó khăn trong việc cố gắng tìm ra cách truy cập các cặp giá trị khóa mà tôi muốn.Nhận thông tin người dùng API đồ thị Facebook JSON với jQuery

Tôi muốn có một cái gì đó giống như

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 đã cố gắng những thứ như item.name và một bó khác những gì tôi hình dung được lựa chọn cú pháp tiềm năng nhưng vẫn nhận được xác định.

Có điều gì sai với cách tiếp cận này, tôi chỉ thực sự có kinh nghiệm sử dụng JSON với API twitter hoạt động tốt với phương pháp trên.

Khi tôi console đăng nhập dữ liệu tôi nhận được một cái gì đó như thế này

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

những gì bạn nhận được trong chuỗi 'dữ liệu'? – Neal

Trả lời

3

Nó không trả lại một mảng, nhưng một đối tượng. Bạn không cần phải lặp lại bất cứ thứ gì.

Bạn chỉ có thể có được tên trực tiếp từ các đối tượng:

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

dụ: http://jsfiddle.net/niklasvh/Wm9M3/

PS. bạn đã có một lỗi cú pháp với $("#profile").append("<h3>"+name+"</h3>"); cũng như (bạn quên + xung quanh name)

+0

Cảm ơn tôi đã bỏ lỡ lỗi cú pháp khi cắt mã của tôi cho ví dụ – BillPull

+0

Bạn có thể giúp tôi nếu URL giống như URL này https://graph.facebook.com/?ids=http://www.bloggerever.com /2013/10/how-to-prevent-function-to-get-default.html Và tôi muốn hiển thị số lượng cổ phiếu. Vui lòng giúp –

2

Bạn phải sử dụng jsonP cho các vấn đề tên miền chéo:

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

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

+1

$ .getJSON sử dụng 'jsonp' nếu url bao gồm chuỗi" callback = ? " – Niklas

Các vấn đề liên quan