有关我的Facebook应用程序的数据库架构的帮助
我正在编写一个Facebook应用程序,用户可以在其中访问他们的页面。我正试图提出提出这个问题的最佳方案。以下是一些变量:有关我的Facebook应用程序的数据库架构的帮助,facebook,Facebook,我正在编写一个Facebook应用程序,用户可以在其中访问他们的页面。我正试图提出提出这个问题的最佳方案。以下是一些变量: 用户可能有多个Facebook帐户 需要将Facebook帐户绑定到我数据库的MemberID 我有不同的Facebook应用程序,用户可以使用 我需要存储一个引用,包括页面ID和访问令牌以及用户的访问令牌 最有意义的是:存储页面及其访问令牌?由于页面的访问令牌与用户绑定,因此您似乎要创建另一个表。但我相信Facebook会把这些都存储在tokens表下,因为PageI
- 用户可能有多个Facebook帐户
- 需要将Facebook帐户绑定到我数据库的MemberID
- 我有不同的Facebook应用程序,用户可以使用
- 我需要存储一个引用,包括页面ID和访问令牌以及用户的访问令牌
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
不确定您打算做什么,但您是正确的,页面id和用户id永远不会共享相同的id。还要注意,用户访问令牌!=页面访问令牌。当您拥有一个用户的访问令牌时,您需要去检索特定页面的访问令牌。如果您打算在操作页面时检索特定页面的访问令牌,那么最好将其合并到一个表中,其中用户访问令牌只是用户表上的一列,因为访问令牌与用户的关系是1-1(除非你有多个应用程序,看起来你可能正在这样做)。那么为PageID创建另一列?如果PageID为空,那么它就是一个用户令牌。因此,当用户允许我访问他们的Facebook时,我会提取他们的帐户,因此如果他们有2个管理的页面,我会插入3个条目?
UserID=12345 PageID=“”ApplicationID=1 FacebookToken=jr3kjrmdefj9023jrkl权限=数组
UserID=12345 PageID=3278973890 ApplicationID=1 FacebookToken=dwpdmfcdfdsscm权限=数组