2009-11-14 4 views
0

J'ai demandé à la bibliothèque cliente FB JS de travailler sur mon application basée sur iframe (c'est cool, je dois dire), mais maintenant je voudrais récupérer une liste d'amis sur Facebook, afin de remplir un champ de saisie semi-automatique (similaire au friend-selector), mais sans l'iframe supplémentaire qui serait généré si j'utilisais la balise serverfbml.Application Facebook iFrame et JS: comment puis-je avoir des amis via JS Client?

Quelqu'un sait comment récupérer cette liste d'amis?

+0

Vous utilisez une toile IFRAME, non? juste s'assurer parce que FB JS pourrait également être FBML + FBJS (non IFRAME). –

+0

Mmmm ... J'ai reformulé la question pour plus de clarté, mais vous avez répondu ci-dessous. Merci encore! – btelles

Répondre

1
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script> 
<script type="text/javascript"> 
    FB_RequireFeatures(['Api'], OnFBFeaturesLoaded); 

    function OnFBFeaturesLoaded() 
    { 
    FB.Facebook.init('<YOUR_API_KEY>', '<XD_RECEIVER_URL>'); 
    FB.Facebook.apiClient.requireLogin(OnRequireLoginComplete); 
    } 

    function OnRequireLoginComplete(p_exception) 
    { 
    var FQL = "SELECT uid FROM user WHERE " + 
       "uid IN (SELECT uid2 FROM friend WHERE uid1='<USER_ID_OF_CURRENT_USER>')"; 

    FB.Facebook.apiClient.fql_query(FQL, function(result, exception) 
    { 
     if (exception != null) 
     { 
     // We had some error, do your error handling stuff 
     } 
     else 
     { 
     // result is an array containing the friends' user IDs. 
     // Have fun. 
     } 
    }); 
    } 
</script> 
+0

DUDE, génial! Merci! – btelles

+0

Bonne chance avec votre application :) –

0

La pièce iFrame vous parle-t-elle du service «partager avec des amis» fourni par Facebook? Si oui, vous trouverez probablement cela beaucoup plus facile à utiliser que d'écrire le vôtre. Si vous écrivez le vôtre, voici ce que vous devez faire:

Si vous êtes strictement du côté client (par exemple, JS, pas PHP, Java, etc.), faites des appels JavaScript à l'API des amis pour obtenir une liste XML d'amis en arrière. Utilisez JavaScript pour analyser le fichier XML et générer une liste. Vous devrez écrire ou 'emprunter' du code pour rendre cette liste utilisable avec un ou plusieurs champs 'autocomplete'. Vous devez ensuite renvoyer ce formulaire + champs à une API de partage - plusieurs façons de le faire, en fonction de ce que vous essayez d'accomplir.

Il se peut qu'il y ait déjà du code JS/plugins que vous pouvez utiliser. Faites une recherche rapide et voyez si vous pouvez trouver quelque chose.

1
SELECT uid 
FROM user 
WHERE uid IN (SELECT uid2 
       FROM friend 
       WHERE uid1 = *USER_ID_HERE*)