gpt4 book ai didi

asp.net - 无法使用 Facebook SDK for asp.net 获取电子邮件地址

转载 作者:行者123 更新时间:2023-12-02 16:27:08 25 4
gpt4 key购买 nike

我正在使用 Facebook SDK 来获取用户的电子邮件。我在 Startup.Auth.css 类中编写此代码:

        var x = new FacebookAuthenticationOptions();
x.Scope.Add("email");
x.AppId = "421656951358309";
x.AppSecret = "5a2e5ccf163fe6918b6d6fdc8dda5184";
x.Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = async context =>
{

context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
}
};
x.SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie;
app.UseFacebookAuthentication(x);

在 Controller 中,我使用两种方法来获取电子邮件,但两种方法都失败了。方法如下:

方法一:默认情况下,执行第一行后,变量 info 具有 email 属性。但它总是返回 null。

var info = await AuthenticationManager.GetExternalLoginInfoAsync();
string email = info.Email;

方法2:我使用下面的代码,它也返回null。

var fb = new FacebookClient(access_token.Value);
dynamic me = fb.Get("email");
string email = me.email;

我错过了什么吗?或者我可以使用另一种方法。我可以获取其他信息,例如用户名,但无法获取电子邮件。

最佳答案

尝试将方法2修改如下:

var fb = new FacebookClient(access_token.Value);
dynamic me = fb.Get("/me?fields=email");
string email = me.email;

关于asp.net - 无法使用 Facebook SDK for asp.net 获取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com