Skip to content

Instantly share code, notes, and snippets.

@natos
Forked from aarongrando/gist:1635158
Created January 8, 2013 17:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save natos/4486127 to your computer and use it in GitHub Desktop.
Save natos/4486127 to your computer and use it in GitHub Desktop.
$(function() {
// Depends on: jQuery, jQuery UI core & widgets (for the autocomplete method)
// Assumes you're already including the FB JS SDK asynchronously...
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxxxxxxx', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true,
xfbml : true
});
FB.getLoginStatus(function (response) {
if (response.authResponse) { // if the user is authorized...
var accessToken = response.authResponse.accessToken
var tokenUrl = "https://graph.facebook.com/me/friends?access_token=" + accessToken + "&callback=?"
// Place <input id="name" /> and <input id="fbuid" /> into HTML
$("#name").autocomplete({
source: function(request, add) {
$this = $(this)
// Call out to the Graph API for the friends list
$.ajax({
url: tokenUrl,
dataType: "jsonp",
success: function(results){
// Filter the results and return a label/value object array
var formatted = [];
for(var i = 0; i< results.data.length; i++) {
if (results.data[i].name.toLowerCase().indexOf($('#name').val().toLowerCase()) >= 0)
formatted.push({
label: results.data[i].name,
value: results.data[i].id
})
}
add(formatted);
}
});
},
select: function(event, ui) {
// Fill in the input fields
$('#name').val(ui.item.label)
$('#fbuid').val(ui.item.value)
// Prevent the value from being inserted in "#name"
return false;
},
minLength: 2
});
}
});
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment