2011-08-15 50 views
1

我正在寫一個Facebook應用程序,用戶可以訪問他們的頁面。我正在設法提出可能提出這個問題的最佳方案。下面是一些變量:幫助我的Facebook應用程序的數據庫模式

  • 用戶可能有不止一個Facebook帳戶
  • 需要配合Facebook賬戶MEMBERID我的數據庫的
  • 我有不同的Facebook應用程序的用戶可以使用
  • 我需要存儲頁面ID和訪問令牌以及用戶訪問令牌的參考

什麼是最有意義的:存儲頁面及其訪問令牌?由於頁面的訪問令牌與用戶綁定,因此您似乎會創建另一個表。但我相信Facebook會將它全部存儲在令牌表中,因爲PageID將不會相同。我是否正確,或者有人可以提出不同的建議?

CREATE TABLE `Facebook_Users` (                
        `FacebookUser_ID` bigint(22) NOT NULL,              
        `FacebookUser_MemberID` int(11) NOT NULL,             
        `FacebookUser_Name` varchar(200) NOT NULL,             
        `FacebookUser_Email` varchar(150) default NULL,            
        `FacebookUser_Birthday` date default NULL,             
        `FacebookUser_Gender` varchar(50) default NULL,            
        `LastUpdatedAt` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, 
        PRIMARY KEY (`FacebookUser_ID`)               
       ) ENGINE=MyISAM DEFAULT CHARSET=latin1              

CREATE TABLE `Facebook_Tokens` (                      
        `FacebookTokens_ID` int(11) NOT NULL auto_increment,                
        `FacebookTokens_UserID` bigint(22) NOT NULL, 
        `FacebookTokens_ApplicationID` int(11) NOT NULL,                 
        `FacebookTokens_FacebookToken` varchar(100) NOT NULL,                
        `FacebookTokens_Permissions` text,                      
        `LastUpdatedAt` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,       
        PRIMARY KEY (`FacebookTokens_ID`),                     
        UNIQUE KEY `MemberFacebook` (`FacebookTokens_UserID`,`FacebookTokens_ApplicationID`)          
       ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 

回答

0

不知道你打算做什麼,但你是正確的,頁ID和用戶ID永遠不會共享相同的ID。另請注意,用戶訪問令牌!=頁面訪問令牌。當你有用戶的訪問令牌時,你需要去檢索特定頁面的訪問令牌。如果您打算在處理頁面時檢索特定頁面的訪問令牌,那麼最好將其合併到一個表中,其中用戶訪問令牌只是用戶表上的一列,因爲訪問令牌爲用戶關係是1-1(除非你安裝了多個應用程序,看起來你可能會這樣做)。

+0

因此,爲PageID創建另一列?如果PageID爲空,則不是用戶令牌。 所以當用戶讓我訪問他們的Facebook,我會拉他們的賬戶,所以如果他們有2頁他們管理,然後我會插入3 entrys? '用戶ID = 12345 PAGEID = 「」 的applicationID = 1 FacebookToken = jr3kjrmdefj9023jrkl 權限= array' '用戶ID = 12345 PAGEID = 903893083 的applicationID = 1 FacebookToken = fdmkfdflsfkjew 權限= array' ' UserID = 12345 PageID = 3278973890 ApplicationID = 1 FacebookToken = dwpdmfcdfdsscm 權限=數組' –

+0

同樣,我真的沒有足夠的上下文來幫助。鑑於有限的細節,我很難說出最好的方法。 –