2010-10-21 61 views
0

我想讓朋友選擇工作,唯一的是我不想發出邀請,我只想要一個用戶選擇的朋友數。Facebook的朋友選擇器與計數器

我需要採取這個值,並將其應用於一些JavaScript代碼,將更新頁面上的跨度。

我已經跟谷歌叔叔說過了,他也忍不住。

回答

1

我已經使用以下命令,這是工作(可能需要一些細化):

<?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

您不能在fb:request-form之外使用fb:multi-friend-selector。你可以使用fb:multi-friend-input雖然(但它不是先進的)。

+0

謝謝,我做了嘗試,並沒有做什麼,我是想,我只是要去必須使用一些其他API調用來寫東西。我不想邀請朋友,只需選擇並計數。一旦我有解決方案,我會發布細節。 – NiGhTHawK 2010-10-21 19:39:29

相關問題