Я пытаюсь получить имя пользователя и адрес электронной почты пользователя из facebook. Я прочитал много информации на эту тему, и это мой последний код, который работает по какой-то причине только на моей facebook приложение учетной записи администратора:Получить электронную почту от пользователя facebook в asp net
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*/
}
}
На каждый счет более я получаю loginInfo.Email
равно null
.
В developers.facebook.com у меня есть:
Когда кто-то нажимает на "Войти через Facebook" он получает это сообщение:
Если я нажимаю «Прочтите информацию, которую Вы предоставили «я получаю:
Что мне не хватает? Почему это не работает?
Благодарим вас за ответ. Это помогло мне понять, что проблема определенно зависит от моего запроса, а не от прав пользователя. – levkaster