使用FQL的Facebook当前UID

使用FQL的Facebook当前UID,facebook,facebook-fql,Facebook,Facebook Fql,如何使用FQL获取当前UID。。我想通过使用fql.multiquery获取用户的朋友来节省流量和请求 问题1:获取我的用户ID 查询2:从用户中选择uid、first\u name、last\u name,其中uid在朋友中选择uid2,其中uid1=MYUSERID按first\u name排序 应该还我朋友!使用friends.get和users.getInfo获取用户需要2个请求,这不是最佳选择 谢谢您的第一个查询应该完全没有必要,因为Facebook总是通过fb_sig_用户参数POS

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

问题1:获取我的用户ID 查询2:从用户中选择uid、first\u name、last\u name,其中uid在朋友中选择uid2,其中uid1=MYUSERID按first\u name排序

应该还我朋友!使用friends.get和users.getInfo获取用户需要2个请求,这不是最佳选择


谢谢

您的第一个查询应该完全没有必要,因为Facebook总是通过fb_sig_用户参数POST或GET向应用程序提供uid。我不确定您可以使用哪种类型的FQL查询根据其他形式的信息获取uid。没有会话表或FQL可用的任何内容。列出了可用的表

但是,对于多查询,我相当确定它确切地描述了您需要做什么,但是我将以我将要做的方式将一些代码组合在一起

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

$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']);
这将生成查询结果的转储

假设您的当前uid可从fb_sig_用户参数获得,您应该这样做,那么您的问题应该通过以下方式解决:

$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)只能在您与登录用户打交道时使用。

您的第一个查询应该完全没有必要,因为Facebook总是通过fb_sig_用户参数POST或GET向应用程序提供uid。我不确定您可以使用哪种类型的FQL查询根据其他形式的信息获取uid。没有会话表或FQL可用的任何内容。列出了可用的表

但是,对于多查询,我相当确定它确切地描述了您需要做什么,但是我将以我将要做的方式将一些代码组合在一起

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

$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']);
这将生成查询结果的转储

假设您的当前uid可从fb_sig_用户参数获得,您应该这样做,那么您的问题应该通过以下方式解决:

$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)只能在与登录用户打交道时使用。

函数me以FQL形式返回用户id

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

SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
您可以在此处找到此文档:

函数me以FQL形式返回您的用户id

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

SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
您可以在此处找到此文档: