无法从facebook OAuth获取所有电子邮件

时间:2012-03-17 06:52:23

标签: facebook facebook-graph-api facebook-oauth

我正在使用facebook OAuth。我可以从facebook帐户收到一些电子邮件,而其中一些邮件不会来。

可能是什么问题。

 function login() {
        FB.init({
            appId: '<%=ConfigurationManager.AppSettings["facebookAPI"].ToString() %>',
            cookie: true,
            status: true, xfbml: true
        });
        FB.login(function (response) {
            //alert("login");
            //if (response.session) {
            if (response) {
                //alert(response);
                //alert("login");
                var url = '/me?fields=name,email';
                FB.api(url, function (response) {

                    //var image = 'http://graph.facebook.com/' + response.id + '/picture';

                    // alert(response.name);
                    //alert(response.email);
                    $.ajax({
                        type: "POST",
                        url: "Login.aspx/SaveFacebookAutoSignUp",
                        data: "{ 'Name':'" + response.name + "', 'EmailId': '" + response.email + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (data) {
                            // alert("You have successfully sign in.Please Wait, we redirect you in a second.");
                            window.location = '<%=ConfigurationManager.AppSettings["weburl"].ToString() %>' + "OAuth.aspx?userId=" + data.d;
                        }

                    });

                });

            }
        });
    }

请看代码,这就是我所做的,可能是什么问题?

如果需要更多详细信息,请与我们联系。

2 个答案:

答案 0 :(得分:1)

根据用户的隐私设置提供电子邮件详细信息。如果用户将其电子邮件地址设置为不公开显示,则Facebook不会获取此类数据。

全部基于权限和隐私设置。

答案 1 :(得分:1)

我得到了解决方案......

http://developers.facebook.com/docs/reference/javascript/FB.login/

他们已经改变了一些设置。

FB.login(function(response) {   // handle the response }, {scope: 'email,user_likes'});

{范围:'email,user_likes'} 适合我:)