我的用户表(其他服务器上的mysql数据库)有一个FaceBookId列。我如何通过朋友过滤它?
我的意思是
Select * from User where FacebookId in SomeTypeOfGetFriends(of me ... the logged in user)
最好的方法是什么? 我应该首先得到一个数组中的朋友,然后做一个FacebookId IN(数组) ?
OR:
对于每个登录的用户,我都可以这样做:在第一页上,当他们登录时,我可以保存他/她的所有朋友,只需将ID显示在一个表格中:ftbl(userloggedinfbid INT,friendsfbid INT)。每次登录时我会这样做一次。然后会加入。但是这样我会在用户之间存储连接,facebook已经存在了。我为什么要重新存储它们?
我不确定使用FB重新存储友谊类型连接是否正常。
答案 0 :(得分:0)
我认为你最好不要看PHP SDK和新的Graph API。
在您的应用程序上对用户进行身份验证后,您可以调用friends.getAppUsers
API方法返回当前登录用户的朋友,他们也使用当前应用程序。用法示例:
$friends = $facebook->api(array('method' => 'friends.getAppUsers'));
答案 1 :(得分:0)
首先
我不确定是否存储 友谊型连接甚至还可以 与FB。
完全没问题。事实上,他们甚至允许您为用户的朋友订阅real time updates。不是我建议你走这条路。
其次,在我自己的应用程序中,我正在完全你的建议。一个很大的'IN()
语句(结合API调用Martin Bean发布)。但您也可以使用临时表来实现这些类型的查询。
此外,正如FYI一样,您不能使用INT
列类型来存储Facebook ID,这些ID是64位整数。使用VARCHAR
或BIGINT
。