2011-07-12 62 views
0

晚上好! 我正在用asp.net C#開發一個web應用程序。在這個應用程序中,用戶可以選擇使用其Facebook賬戶(Facebook連接)創建登錄。使用Facebook的用戶電子郵件C#sdk

我使用的是來自codeplex的thye facebook C#sdk(http://facebooksdk.codeplex.com/)。 我可以輕鬆地檢索名稱,照片等....但我不知道如何檢索用戶電子郵件。

要調用FB登錄按鈕我用這個代碼:

<fb:login-button onlogin="window.location.reload()" perms='email'></fb:login-button>  

它工作得很好,並獲取用戶的信息,我用這個C#代碼:

  // Authenticated, created session and API object 
     sessaoFB = new ConnectSession(APPLICATION_KEY, SECRET_KEY); 

     if (!sessaoFB.IsConnected()) { 
      this.phLogar.Visible = true; 
      this.phLogado.Visible = false; 
     } else { 

      // Authenticated, create API instance 
      _facebookAPI = new Api(sessaoFB); 
      Auth auth = new Auth(sessaoFB); 

      if (!this.Page.IsPostBack) 
      { 
       this.phLogar.Visible = false; 
       this.phLogado.Visible = true; 

       try 
       { 
        //User data 
        user usuarioFB = _facebookAPI.Users.GetInfo(); 
        this.lblNome.Text = usuarioFB.first_name;       
        imgFoto.ImageUrl = usuarioFB.pic_big;       
       } 
       catch (Exception ex) 
       { 
        this.lblNome.Text = ex.Message; 
       } 

      } 
     } 

我怎樣才能得到用戶的電子郵件起訴Facebook的C#sdk?你們有沒有人知道?

在此先感謝您的幫助! 此致敬禮。

回答

3

André,

您的登錄按鈕已經請求訪問電子郵件地址的權限。

爲什麼不使用FacebookClient?如果你正在運行的.NET 4.0,這是因爲這很簡單:

var client = new FacebookClient(); 
dynamic me = client.Get("me"); 
string firstName = me.first_name; 
string lastName = me.last_name; 
string email = me.email; 

檢查上述文件:http://facebooksdk.codeplex.com/wikipage?title=Code%20Examples&referringTitle=Documentation

+0

吉列爾梅感謝您的回答! –

+2

我使用上面的示例,電子郵件始終爲空。 – Arcadian

+0

您是否要求正確的權限? –

相關問題