facebookからユーザー名とユーザーメールを取得しようとしています。私はこのトピックに関する多くの情報を読んで、これは私のFacebookアプリの管理者アカウントにいくつかの理由のために働く私の最終的なコードです:すべてのオンasp netのfacebookからユーザーのメールを受信
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