Tôi đang cố gắng lấy tên người dùng và email người dùng từ facebook. Tôi đọc rất nhiều thông tin về chủ đề này và đây là mã cuối cùng của tôi mà làm việc cho một số lý do duy nhất trên tài khoản ứng dụng quản trị facebook của tôi:Nhận email người dùng từ facebook trong mạng asp
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
/*Other external login options*/
var FacebookOptions = new FacebookAuthenticationOptions()
{
AppId = "My App Id",
AppSecret = "My App Secret",
SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie,
BackchannelHttpHandler = new FacebookBackChannelHandler(),
UserInformationEndpoint = "https://graph.facebook.com/v2.7/me?fields=id,name,email"
};
}
}
public class FacebookBackChannelHandler : HttpClientHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
if (!request.RequestUri.AbsolutePath.Contains("/oauth"))
{
request.RequestUri = new Uri(request.RequestUri.AbsoluteUri.Replace("?access_token", "&access_token"));
}
return await base.SendAsync(request, cancellationToken);
}
}
public class AccountController : Controller
{
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
/*my sign in code that works on my facebook app admin account*/
}
}
Trên mỗi qua tài khoản tôi có được loginInfo.Email
bằng null
.
Trong developers.facebook.com tôi có:
Khi ai đó nhấp vào "Đăng nhập với Facebook" anh nhận được tin nhắn này:
Nếu tôi nhấp vào "Xem lại các thông tin mà bạn cung cấp "i get:
Tôi đang thiếu gì? Tại sao nó không hoạt động?
Cảm ơn câu trả lời của bạn. Điều này đã giúp tôi hiểu rằng vấn đề chắc chắn là trong yêu cầu của tôi chứ không phải quyền của người dùng. – levkaster