prog-with-fb
If you query the Graph API with http://graph.facebook.com/USERID
you will get:
"id": "USERID",
"name": "NAME",
"first_name": "FirstNAME",
"last_name": "LASTNAME",
"link": "LINK",
"username": "THETHINGYOUWANT",
"gender": "GENDER",
"locale": "LANGUAGE"
The picture of a user can be gotten by http://graph.facebook.com/"+response.id+"/picture
fb_friends_url = "https://www.facebook.com/ajax/typeahead/search/bootstrap.php?__a=1&filter[0]=user&viewer=1141800361&token=v7&lazy=0&__user=1141800361"
The source code of a user's home has a initial array containing the list of friends like following
["InitialChatFriendsList",[],{"list":["100000246711414", ... ,"100004424260429"]}]
A short script developed by Jeremy Keeshin can be used to list Facebook Friend Rankings. The following script code is added as a bookmark.
javascript:(function(){var script=document.createElement('script');script.type='text/javascript';script.src='http://thekeesh.com/js/edges2.js';document.getElementsByTagName('body')[0].appendChild(script);}())
The following is the source of the javascript.
//var fb_friends_url = "https://www.facebook.com/ajax/typeahead/search/bootstrap.php?__a=1&filter[0]=user&viewer=1141800361&token=v7&lazy=0&__user=1141800361";
/*
* Plugin by Jeremy Keeshin
* Using jQuery javascript library
* Information from Facebook
*
* Updated February 14, 2012
*
* - Now uses the matching protocol
* - Changed to use the bootstrap.php filename
*/
$.ajax({
url: window.location.protocol + "//www.facebook.com/ajax/typeahead/search/bootstrap.php",
data: "__a=1&filter[0]=user&lazy=0&viewer="+Env.user+"&token=v7&stale_ok=0",
dataType: 'JSON',
success: function(result){
alert('Please try again.');
},
error: function(data){
var text = data.responseText;
var json = text.substring(text.indexOf('{'));
var friends = $.parseJSON(json);
friends = friends.payload.entries;
var display = $("<div id='friend-edge-display'></div>");
for(var i = 0; i < friends.length; i++){
var info = "<div class='friend-edge'><span class='friend-edge-name'>" + friends[i].text + "</span><span class='friend-edge-index'>" + friends[i].index + "</span></div>";
$(display).append(info);
}
$('body').append(display);
var by = $("<div id='friend-edge-by'><a href='http://thekeesh.com'>Bookmarklet by Jeremy Keeshin</a></div><br/>");
display.prepend(by);
var title = $("<div id='friend-edge-title'>Facebook Friend Rankings</div>");
display.prepend(title);
$('#friend-edge-title').css('font', '20px bold "helvetica neue"');
$('#friend-edge-title').css('margin-bottom', '10px');
$('#friend-edge-display').css('position', 'absolute');
$('#friend-edge-display').css('top', '100px');
$('#friend-edge-display').css('width', '500px');
$('#friend-edge-display').css('margin-left', '-309px');
$('#friend-edge-display').css('left', '50%');
$('#friend-edge-display').css('background', 'white');
$('#friend-edge-display').css('z-index', '9999');
$('#friend-edge-display').css('font-size', '14px');
$('#friend-edge-display').css('padding', '15px');
$('#friend-edge-display').css('border-radius', '12px');
$('#friend-edge-display').css('border', '8px solid black');
$('.friend-edge').css('margin-top', '5px');
$('.friend-edge-name').css('width', '250px');
$('.friend-edge-name').css('display', 'inline-block');
}
});