我正在编写一个Facebook应用程序,用户可以访问他们的页面。我正在尝试列出提出这个问题的最佳方案。以下是一些变量:
最有意义的是:存储页面及其访问权限?由于页面的访问令牌与用户绑定,因此您似乎可以创建另一个表。但是我相信,自从PageID& UserID将永远不会相同。我是否正确,或者有人可以提出不同的建议吗?
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 :(得分:0)
不确定您的计划是什么,但是您是正确的,页面ID和用户ID永远不会共享相同的ID。另请注意,用户访问令牌!=页面访问令牌。当您拥有用户的访问令牌时,您需要检索特定页面的访问令牌。如果您打算在想要操作页面时检索特定页面的访问令牌,那么最好将其合并到一个表中,其中用户访问令牌只是用户表上的一列,因为访问令牌为用户关系是1-1(除非你有多个应用程序,看起来你可能正在做什么)。