首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带FQL的Facebook当前UID

带FQL的Facebook当前UID
EN

Stack Overflow用户
提问于 2009-07-26 15:31:17
回答 2查看 6.8K关注 0票数 0

如何使用FQL获取我当前的UID。我想通过fql.multiquery获得用户的好友来节省流量和请求

"query1":GET NEED MY USERID "query2":"SELECT uid,first_name,last_name FROM user WHERE uid IN (SELECT uid2 FROM WHERE uid1=MYUSERID) order by first_name“

应该还我的朋友!先用friends.get获取用户,再用users.getInfo获取用户需要2个请求,这并不是最优的……

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-26 18:21:43

您的第一个查询应该是完全不必要的,因为Facebook总是通过fb_sig_user参数(POST或GET)为应用程序提供uid。我不确定您可以使用哪种类型的FQL查询来获取基于其他形式信息的uid。没有sessions表或任何可供FQL使用的表(可用表在here中列出)。

然而,对于多查询,我相当肯定this page准确地描述了您需要做的事情,但我将以我所做的方式将一些代码组合在一起。

如果它是一个PHP应用程序,并且我想在服务器端执行此操作,我将创建两个JSON格式的字符串,并将它们作为查询发送,如下所示:

代码语言:javascript
复制
$fql= '{
 "userinfo":"SELECT uid FROM user_standard_info WHERE first_name=\'zombat\'",
 "friends":"SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM #userinfo)}"
}';
$res = $facebook->api_client->fql_multiquery($fql);

print_r($res['userinfo']);
print_r($res['friends']);

这应该会产生查询结果的转储。

假设您已经从fb_sig_user参数获得了当前的uid (您应该这样做),那么您的问题应该可以通过下面这样的方式来解决:

代码语言:javascript
复制
$fql= '{
 "friends":"SELECT uid2 FROM friend WHERE uid1='.$your_uid.',"
 "friendinfo":"SELECT * FROM standard_user_info WHERE uid IN (SELECT uid2 FROM #friends)"
}';
$res = $facebook->api_client->fql_multiquery($fql);

注释:您可能希望仔细查看您正在尝试执行的一些查询。许多表,比如friend,只有在处理登录用户时才能使用。

票数 4
EN

Stack Overflow用户

发布于 2011-02-10 18:32:08

函数me()在FQL中返回您的用户id。

要获取好友列表,您可以使用:

代码语言:javascript
复制
SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

你可以在这里找到相关的文档:http://developers.facebook.com/docs/reference/fql/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1184843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档