Facebook开发PHP - 新手问题

时间:2009-08-07 19:34:07

标签: php facebook

我正在开展一个项目,将facebook应用程序与常规网站同步。

db有一个users表,但该表只有应用程序的每个用户的用户ID。用户ID是人们的Facebook用户ID。

对于users表中的每个用户,我需要从facebook获取他们的名字和其他信息。客户端正在使用Facebook应用程序,所以我相信他应该有一个开发人员密钥,以及其他任何需要的东西。

我的问题是,我如何使用他们的Facebook用户ID从Facebook检索用户的姓名和其他信息?

4 个答案:

答案 0 :(得分:3)

首先确保您的计划符合Facebook Developer Policy

  

您无法存储收到的数据   Facebook,除了某些“可存储的   数据”。

http://wiki.developers.facebook.com/index.php/Platform_Policy_Overview#6._Storing_and_Using_Data_You_Receive_From_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

有关详细信息,请参阅http://wiki.developers.facebook.com/index.php/FQL

答案 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。