私は、ユーザーが自分のページにアクセスできるようにFacebookアプリケーションを作成しています。私はこの問題を引き起こす最良の計画を立てようとしています。ここではいくつかの変数は次のとおりです。Facebookアプリケーションのデータベーススキーマに関するヘルプ
- ユーザーが
- つ以上のFacebookのアカウントを持っているかもしれない、私は別のFacebookアプリケーションのユーザーを持っている私のデータベース
- のMEMBERIDにFacebookのアカウントを結びつけるために必要
- を使用することができ、私は保存する必要がありますユーザーのアクセストークンと一緒にページIDとアクセストークンを参照する
ページとそのアクセストークンを格納するのにもっともな意味は?ページのアクセストークンはユーザーに関連付けられているため、別のテーブルを作成するように見えます。しかし、私は、PageID & UserIDが決して同じではないので、Facebookがトークンテーブルの下にそれをすべて格納すると信じています。正しいのですか、誰かが何か違うものを提案できますか?
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
PageIDの別の列を作成しますか? PageIDが空の場合、そのユーザーのトークンよりも。 ユーザーが自分のFacebookにアクセスできるようにすると、自分のアカウントを引き出しますので、管理しているページが2ページあれば、3つのエントリを挿入します。 'ユーザID = 12345 PAGEID = "" アプリケーションID = 1 FacebookToken = jr3kjrmdefj9023jrkl 権限= array' 'ユーザID = 12345 PAGEID = 903893083 アプリケーションID = 1 FacebookToken = fdmkfdflsfkjew 権限= array' 'ユーザーID = 12345 PageID = 3278973890 ApplicationID = 1 FacebookToken = dwpdmfcdfdsscm 権限=アレイ ' –
もう一度、私は本当に助ける十分なコンテキストがありません。限られた細部を考えれば、私が最善のアプローチをとるのはとても難しいです。 –