2011-01-10 4 views
1

방금 ​​이번 주말에 Facebook SDK로 작업하기 시작했습니다. Facebook에 사이트를 통합하려고합니다. 샘플과 문서를 따라 페이스 북 로그인 버튼과 함께 "얼굴"을 꽤 빨리 표시했습니다 (멋진 툴킷).Authorizer.IsAuthorized가 인증 된 후에 false를 반환합니다.

<fb:login-button autologoutlink="true" perm="email" show-faces="true" width="200" max-rows="1"></fb:login-button> 

사용자가 이미 (페이스 북을 통해) 인증되었는지 확인하고 싶습니다. 이것은 많은 샘플에서 본 것과 다르지 않습니다. 문제는, 필자는 Page_Load에 authorizer.IsAuthorized이 인증 된 후에도 False를 반환한다는 것입니다 (내 프로필 사진도 표시됨). 내가 누락 된 것이 있습니까?

protected void Page_Load(object sender, EventArgs e) 
{ 

    try 
    { 
     Facebook.FacebookApp app = new Facebook.FacebookApp(); 

     Facebook.Web.Authorizer authorizer = new Facebook.Web.Authorizer(app); 

     if (authorizer.IsAuthorized()) 
     { 

     } 
     else 
     { 

     } 
    } 
    catch (Exception ex) 
    { 
    } 
} 
+0

코드를 보니 페이스 북 개발자 툴킷을 사용하지 않는 것으로 보입니다. Facebook C# SDK를 사용하고있는 것 같습니다. –

답변

2

동일한 문제가 발생할 때까지는 4.1.1 버전의 Facebook C# SDK를 사용했습니다. 그런 다음 Version 4.2.1을 다운로드하고 Authorizer.Perms를 제거했습니다.

FacebookApp fbApp = new FacebookApp(access_token); 
Authorizer fbAuth = new Authorizer(fbApp); 
fbAuth.IsAuthorized();// returns true 

문제가 해결되었습니다.

이유는 무엇보다도 UserId가 Facebook에서 응용 프로그램을 허가하더라도 0이됩니다. 그들은 그것을 해결했습니다. 이제 FacebookApp (access_token) 생성자를 사용하면 access_token에서 UserId를 가져옵니다.

관련 문제