【问题标题】:How can I get full facebook profile from ASP.NET MVC如何从 ASP.NET MVC 获取完整的 facebook 个人资料
【发布时间】:2017-08-27 08:58:13
【问题描述】:

我正在开发网络应用程序,我需要在其中获取有关 facebook 用户的完整信息。 OAUTH2 登录成功。但在那之后,当我使用提供的访问令牌调用graph.facebook.api 时,我只得到 ID、姓名和图片。

问题是如何从 facebook 获取完整的用户资料?

在 Startup.Auth.cs 我有以下代码:

var facebookAuthOptions = new FacebookAuthenticationOptions()
{
    AppId = "APP_ID_HERE",
    AppSecret = "APP_SECRET_HERE",
    Provider = new FacebookAuthenticationProvider()
    {
        OnAuthenticated = (context) =>
        {
            context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:accesstoken"
                                      , context.AccessToken
                                      , ClaimValueTypes.String
                                      , "Facebook"));
            context.Identity.AddClaim(new Claim("urn:facebook:email"
                                      , context.AccessToken
                                      , ClaimValueTypes.Email
                                      , "Facebook"));
            context.Identity.AddClaim(new Claim("urn:facebook:about"
                                      , context.AccessToken
                                      , ClaimValueTypes.String
                                      , "Facebook"));
            return Task.FromResult(0);
        }
    }
};

app.UseFacebookAuthentication(facebookAuthOptions);

在我的控制器中,我这样调用 facebook API:

var apiRequestUri = new Uri("https://graph.facebook.com/v2.8/me?fields=email,name,about,picture&access_token=" + accessToken);

var webClient = new System.Net.WebClient();
var json = webClient.DownloadString(apiRequestUri);
var profile = JsonConvert.DeserializeObject<FacebookProfile>(json);

但我得到的只是身份证、姓名和照片。 当我在图形 api 控制台中尝试类似的查询时,我可以获得所需的所有信息。 欢迎任何建议! 提前感谢您的帮助!

【问题讨论】:

    标签: c# asp.net asp.net-mvc facebook-graph-api owin


    【解决方案1】:

    我已通过在facebookAuthOptions 中为每个所需字段添加声明来解决此问题。在用户批准请求的信息后,我可以使用授权步骤中提供的令牌成功地从 Facebook API 获得响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多