Member 11710909 Ответов: 2

можете получить facebook API до версии v2.4 адрес электронной почты пользователя, используя ASPSnippets.FaceBookAPI


 protected void Login(object sender, EventArgs e)
    {
        FaceBookConnect.Authorize("user_photos,email", Request.Url.AbsoluteUri.Split('?')[0]);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        FaceBookConnect.API_Key = "753961091398319";
        FaceBookConnect.API_Secret = "key";
        if (!IsPostBack)
        {
            if (Request.QueryString["error"] == "access_denied")
            {
                ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('User has denied access.')", true);
                return;
            }

            string code = Request.QueryString["code"];
            if (!string.IsNullOrEmpty(code))
            {
                string data = FaceBookConnect.Fetch(code, "me");
                FaceBookUser faceBookUser = new JavaScriptSerializer().Deserialize<FaceBookUser>(data);
                faceBookUser.PictureUrl = string.Format("https://graph.facebook.com/{0}/picture".ToString(), faceBookUser.Id);
                pnlFaceBookUser.Visible = true;
                lblId.Text = faceBookUser.Id;
                lblUserName.Text = faceBookUser.UserName;
                lblName.Text = faceBookUser.Name;
                lblEmail.Text = faceBookUser.Email;
                ProfileImage.ImageUrl = faceBookUser.PictureUrl;
                btnLogin.Enabled = false;
            }
        }
    }
}
public class FaceBookUser
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string UserName { get; set; }
    public string PictureUrl { get; set; }
    public string Email { get; set; }
}



[^][^]я хочу получить электронную почту вошедшего в систему пользователя, но он показывает мне только имя пользователя и идентификатор, что делать, как мне получить электронную почту пользователя

Member 12314184

Есть ли у кого-нибудь решение, с которым я столкнулся с той же проблемой.

CHill60

По какой - то причине сегодня были опубликованы два решения- см. ниже

2 Ответов

Рейтинг:
1

alexandre_brazil

Изменить

string data = FaceBookConnect.Fetch(code, "me")

к
string data = FaceBookConnect.Fetch(code, "me?fields=email");


синтаксис других переменных, таких как имя пользователя, имя и т. д.

[https://developers.facebook.com/docs/facebook-login/permissions

Пример:

string data = FaceBookConnect.Fetch(code, "me?fields=email,first_name,last_name");


Рейтинг:
1

Nirav Prabtani

Чтобы получить доступ публично, вам нужно настроить свое приложение facebook в прямом эфире.

Я имею в виду, что сначала вам нужно попросить разрешения, а затем ваша заявка будет рассмотрена, и после одобрения со стороны facebook вы сможете получить информацию и о других.

Но прежде чем получить доступ к информации вы должны определить ее в области действия разрешения

Для получения дополнительной информации см. Также мой вопрос

Проблема с разрешением приложения Facebook.[^]

Дайте мне знать, если у вас есть какие-либо вопросы или опасения по этому поводу.