我已经获得了FB JS客户端库来处理基于iframe的应用程序(很酷的东西,我必须说),但现在我想从Facebook检索一个朋友列表,以便填充一个AutoComplete字段(类似于朋友选择器),但如果我使用serverfbml标记,则不会生成额外的iframe。
任何人都知道如何检索该朋友列表?
答案 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代码/插件。快速搜索,看看你是否能找到一些东西。