用facebook C#sdk获取用户电子邮件

时间:2011-07-12 22:46:41

标签: facebook-c#-sdk

晚上好! 我正在使用asp.net C#开发一个Web应用程序。在此应用程序中,用户可以选择使用其Facebook帐户(Facebook连接)创建登录。

我正在使用来自codeplex(http://facebooksdk.codeplex.com/)的Facebook C#sdk。 我可以轻松检索姓名,照片等....但我不知道如何检索用户的电子邮件。

要调用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?你们中的任何人都知道吗?

提前感谢您的帮助! 最好的问候。

1 个答案:

答案 0 :(得分:3)

安德烈,

您的登录按钮已经请求访问该电子邮件地址的权限。

为什么不使用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