2011-01-27 340 views
0

我正在開發一個使用javascript sdk的facebook應用程序,它檢索特定的牆貼,並允許用戶喜歡或不喜歡它們。要完成此功能,我需要知道用戶是否喜歡每個帖子。什麼是確定這個最好的方法?我考慮過爲特定帖子檢索所有喜歡的東西,遍歷ID並根據用戶的ID來測試每個ID,但這看起來不是一個有效的解決方案。任何更好的想法?提前致謝。確定Facebook用戶是否喜歡特定的帖子 - Javascript

回答

0

考慮使用FQL這件事。您可以使用likedocs)表格檢索喜歡帖子的用戶列表。有了這個列表,你可以檢查你的用戶是否是IN列表。

您只需檢索一次該列表,然後檢查您的id(或ids)。

例中的javascript:

<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 
FB.api({ 
     method: 'fql.query', 
     query: 'SELECT user_id FROM like WHERE object_id=193397964020317' 
    }, 
    function(response) { 
     var results = []; 
     for (var i = 0; i < response.length; i++) { 
      results.push(response[i].user_id); 
     } 

     if (results.indexOf("725047048") != -1) { 
      // exists 
     } else { 
      // doesnt exists 
     } 
    } 
); 
</script> 

我給你的PHP的例子太多,也許有人需要它:

$results = json_decode(file_get_contents("https://api.facebook.com/method/fql.query?query=".urlencode("SELECT user_id FROM like WHERE object_id='193397964020317'")."&format=json")); 
if ($results) { 
    $user_ids = array(); 
    foreach ($results as $result) { 
     $user_ids[] = $result->user_id; 
    } 
} 
var_dump($user_ids); 
if (in_array(CURRENT_USER_ID, $user_ids)) { 
    // exists 
} else { 
    // does not exists 
} 

祝你好運!

1

只要你知道user_id,它是一件容易的事post_id

使用
FB.api({ 
    method: 'fql.query', 
    query: 'SELECT object_id FROM like WHERE post_id="post_id" AND user_id=me()' 
    }, 
    function(response) { 
    if(response.length) { 
     // the user likes the post! 
    } 
    } 
); 

表:like

相關問題