2010-07-21 52 views
0

我的用户表(其他服务器上的mysql数据库)有一个FaceBookId列。我如何过滤朋友?Facebook应用程序 - 基本数据库设计

我的意思是

Select * from User where FacebookId in SomeTypeOfGetFriends(of me ... the logged in user) 

什么是最好的方法是什么? 我应该首先得到一个数组中的朋友,然后做一个FacebookId IN(array) ?

OR:

对于登录,我可以做这样的事情每个用户:在第一页上,当他们登录时,我救不了他/她所有的朋友,只是ID-S在表看起来像:ftbl(userloggedinfbid INT,friendsfbid INT)。每次他登录时,我都会这样做一次,然后加入。但这种方式我会存储用户之间的连接,这已经是Facebook了。为什么我应该重新存储它们?

我不确定重新存储友谊型连接甚至可以与FB保持一致。

回答

0

我认为你最好看看PHP SDK和新的Graph API。

一旦在应用程序上对用户进行了身份验证,就可以调用friends.getAppUsers API方法来返回当前登录用户的同时使用当前应用程序的好友。用法示例:

$friends = $facebook->api(array('method' => 'friends.getAppUsers')); 
0

的所有

首先我不知道再存储 友好型的连接是即使有FB OK 。

完全没问题。事实上,他们甚至可以让用户的朋友订阅real time updates。不是我推荐你走这条路。其次,在我自己的应用程序中,我正在做,正好是你的建议。一个大ol'IN()声明(结合API调用Martin Bean发布)。但是,您也可以使用临时表来实现这些类型的查询。

另外,就像参考一样,您不能使用INT列类型来存储Facebook ID(64位整数)。去VARCHARBIGINT