2010-10-21 6 views
0

J'essaie d'obtenir un sélecteur d'amis de travail, la seule chose est que je ne veux pas envoyer d'invitations, je veux juste un décompte des amis que l'utilisateur a sélectionnés.Sélecteur ami Facebook avec compteur

Je dois prendre cette valeur et l'appliquer à un code javascript qui mettra à jour un span sur la page. J'ai parlé à oncle Google, et il ne pouvait pas aider.

Répondre

1

Je l'ai utilisé ce qui suit et que cela fonctionne (pourrait avoir besoin de raffinement):

<?php 
require 'facebook-php-sdk/src/facebook.php'; 

// Create our Application instance. 
$facebook = new Facebook(array(
    'appId' => 'xxx', 
    'secret' => 'xxx', 
    'cookie' => true, 
)); 

$session = $facebook->getSession(); 

$me = null; 
// Session based API call. 
if ($session) { 
    try { 
     $uid = $facebook->getUser(); 
     $me = $facebook->api('/me'); 

     $f_data = $facebook->api('/me/friends'); 

     $friends = array(); 

     foreach ($f_data['data'] as $friend) { 
      $friends[$friend['name']] = $friend['id']; 
     } 

     ksort($friends); 
    } catch (FacebookApiException $e) { 
     error_log($e); 
    } 
} 
?> 
<div>You have <span id="numfriends">0 friends</span> selected</div> 
<div class="friend-container"> 
<?php foreach ($friends as $friend): ?> 
    <div class="friend-profile"> 
     <fb:profile-pic uid="<?php echo $friend; ?>" linked="false" size="square" /><br/> 
     <fb:name uid="<?php echo $friend; ?>" linked="false" /> 
    </div> 
<?php endforeach; ?> 
</div> 
<script> 
<!-- 
    function updateFriends(obj) 
    { 
     obj.toggleClassName('selected'); 

     var friends = 0; 

     friends_arr = obj.getParentNode().getChildNodes(); 

     for (friend in friends_arr) 
      { 
       if(typeof(friends_arr[friend]) == 'object') 
        { 
         if (friends_arr[friend].getClassName().indexOf('selected') != -1) 
          { 
           friends++; 
          } 
        } 
      } 

     document.getElementById('numfriends').setTextValue(friends + ' friends'); 
    } 
//--> 
</script> 
0

Vous ne pouvez pas utiliser fb:multi-friend-selector en dehors de fb:request-form. Vous pouvez cependant utiliser fb:multi-friend-input (mais ce n'est pas aussi avancé).

+0

Merci, j'ai essayé et ça n'a pas fait ce que je voulais, je vais juste devoir écrire quelque chose en utilisant certains des autres appels d'API. Je ne veux pas inviter des amis, il suffit de les sélectionner et de les compter. Une fois que j'ai une solution, je vais poster les détails. – NiGhTHawK

Questions connexes