2011-01-10 42 views
1

我剛剛在本週末開始使用Facebook SDK。我正在嘗試將Facebook整合到一個網站中。我遵循了樣本和文檔,並獲得了Facebook登錄按鈕以及相當快地顯示「面孔」(很好的工具包)。Authorizer.IsAuthorized在我通過驗證後返回false

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

我想檢查用戶是否已經過身份驗證(通過Facebook)。這與我在許多樣本中看到的沒有什麼不同。我遇到的問題是,在我的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 Developer Toolkit。它看起來像你正在使用Facebook C#SDK。 – 2011-01-10 18:54:00

回答

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成爲0,即使你在Facebook授權的應用程序。 他們解決了它。現在,當您使用FacebookApp(access_token)構造函數時,它將從 access_token獲取UserId。

相關問題