2010-07-21 57 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