2011-08-15 2 views
1

사용자가 자신의 페이지에 대한 액세스 권한을 부여하는 Facebook 응용 프로그램을 작성 중입니다. 나는이 질문을 제기하는 최선의 계획을 세우려고 노력하고있다. 다음은 몇 가지 변수는 다음과 같습니다내 Facebook 응용 프로그램의 데이터베이스 스키마에 대한 도움말

  • 사용자
  • 내 데이터베이스의 MEMBERID에 페이스 북 계정을 묶을 필요 이상 하나 개의 페이스 북 계정과있을 수 있습니다
  • 나는 다른 페이스 북 응용 프로그램을 사용자가 내가 저장해야
  • 을 사용할 수 있습니다 사용자의 액세스 토큰과 함께 페이지 ID와 액세스 토큰을 참조하십시오.

페이지와 액세스 토큰을 저장하는 것이 가장 합당한 이유는 무엇입니까? 페이지의 액세스 토큰은 사용자와 연결되어 있으므로 다른 테이블을 만드는 것처럼 보입니다. 그러나 페이스 북은 PageID & 사용자 ID가 결코 같지 않으므로 토큰 테이블 아래에 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 

답변

0

당신이하고 싶은 계획이 확실하지 않지만 올바른 경우 페이지 ID와 사용자 ID는 동일한 ID를 공유하지 않습니다. 또한 사용자 액세스 토큰! = 페이지 액세스 토큰에 유의하십시오. 사용자의 액세스 토큰을 가지고 있으면 특정 페이지의 액세스 토큰을 가져와야합니다. 페이지를 조작 할 때 특정 페이지의 액세스 토큰을 검색하려는 경우이 토큰을 사용자 테이블의 열이되는 하나의 테이블로 통합하는 것이 좋습니다. 사용자 관계는 1-1입니다 (여러 앱을 호스팅하지 않는 한, 사용자가 수행하는 것처럼 보입니다).

+0

그래서 PageID에 대해 다른 열을 만드시겠습니까? PageID가 비어 있으면 사용자 토큰보다 비쌉니다. 그래서 사용자가 나에게 페이스 북에 대한 액세스 권한을 부여하면 계정을 가져 와서 관리하는 페이지가 2 페이지라면 3 개의 항목을 삽입하겠습니까? 아이디 '= 12345 페이지 id = "" 애플리케이션 ID = 1 FacebookToken = jr3kjrmdefj9023jrkl 권한 = array' 아이디'= 12345 페이지 id = 903,893,083 애플리케이션 ID = 1 FacebookToken = fdmkfdflsfkjew 권한 = array' ' UserID = 12345 PageID = 3278973890 ApplicationID = 1 FacebookToken = dwpdmfcdfdsscm Permissions = array' –

+0

다시 말해서, 나는 정말로 도움이되는 문맥이 충분하지 않습니다. 제한된 세부 사항을 감안할 때 최선의 접근 방법이 무엇인지 말할 수있는 것은 매우 어렵습니다. –

관련 문제