Facebook iFrame应用程序和JS:我如何通过JS Client获取朋友?

时间:2009-11-14 18:11:39

标签: facebook

我已经获得了FB JS客户端库来处理基于iframe的应用程序(很酷的东西,我必须说),但现在我想从Facebook检索一个朋友列表,以便填充一个AutoComplete字段(类似于朋友选择器),但如果我使用serverfbml标记,则不会生成额外的iframe。

任何人都知道如何检索该朋友列表?

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

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

答案 2 :(得分:0)

iFrame片段是你在谈论Facebook提供的“与朋友分享”吗?如果是这样,你可能会发现比编写自己更容易使用。如果你自己编写,这就是你需要做的事情:

如果您严格在客户端(即JS,而不是PHP,Java等),请对Friends API进行JavaScript调用以获取XML朋友列表。使用JavaScript解析XML并生成列表。您必须编写或“借用”某些代码才能使该列表可用于一个或多个“自动填充”字段。然后,您需要将该表单+字段发布回共享API - 许多方法可以执行此操作,具体取决于您要完成的操作。

可能已经有了可以使用的编写良好的JS代码/插件。快速搜索,看看你是否能找到一些东西。