我正在开展一个项目,将facebook应用程序与常规网站同步。
db有一个users表,但该表只有应用程序的每个用户的用户ID。用户ID是人们的Facebook用户ID。
对于users表中的每个用户,我需要从facebook获取他们的名字和其他信息。客户端正在使用Facebook应用程序,所以我相信他应该有一个开发人员密钥,以及其他任何需要的东西。
我的问题是,我如何使用他们的Facebook用户ID从Facebook检索用户的姓名和其他信息?
答案 0 :(得分:3)
首先确保您的计划符合Facebook Developer Policy。
您无法存储收到的数据 Facebook,除了某些“可存储的 数据”。
回答你的问题。
黑客方式:
针对多个用户的批处理FQL语句应该可以解决问题。您可以使用API函数(也可以是batchable)或API调用FQL查询。
更好,功能更丰富的方式:
您希望连接您的网站 Facebook 。您实际需要的是Facebook Connect.
Facebook Connect简单地说是一个替换Placeholder标签的Javascript Layer。使用Facebook Connect,您可以说<fb:photo pid="54321" uid="6789"></fb:photo>.
或在您的情况下
答案 1 :(得分:1)
使用以下FQL语句:
SELECT name FROM user WHERE uid=211031
答案 2 :(得分:1)
如果您只想显示某人的姓名,这是一种快捷简便的方式
<fb:name useyou='false' uid=".'"'.$values[$index]['userid'].'"'." />
注意:此代码用于for循环,并且用户数据库信息被放入数组中,因为我期待多行。
获取用户信息比使用FQL更简单的方法是使用他们的API
我认为这是您想要的API http://wiki.developers.facebook.com/index.php/Users.getStandardInfo
答案 3 :(得分:1)
require_once('facebook-platform/client/facebook.php');
$facebook = new Facebook(API_KEY, SECRET);
$facebook->require_login();
function getInfo($user_list, $fields)
{
try
{
$u = $facebook->api_client->users_getInfo($user_list, $fields);
return $u;
}
catch (FacebookRestClientException $e)
{
echo $e->getCode() . ' ' . $e->getMessage();
}
}
执行类似的操作,$ user_list是UID列表,$ fields是要从Facebook检索的所有userInfo字段的列表。
查看Facebook API。