1

我正在使用OAuthWebSecuritywithMVC允许我网站的用户使用 Facebook 的 oAuth 登录。一切正常,我有一个测试用户验证正常。

我的问题是基于 Facebook 可以提供的详细信息。我目前正在使用以下方法返回用户详细信息...

AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication();

这将提供以下详细信息:

  • 用户名(电子邮件)
  • 提供者用户 ID

我还得到一个ExternalData对象,它具有:

  • 用户名
  • 姓名
  • 性别

你知道是否有可能获得更多数据,也许是 DoB、照片等?

4

1 回答 1

1

请原谅我没有为我提供完整的答案。我只是提供一个链接。请检查

http://blue-and-orange.net/articles/facebook/displaying-facebook-user-data-in-aspnet-mvc-4/

一切都在这里解释。

要设置权限,您可以浏览此文档 https://developers.facebook.com/docs/facebook-login/permissions/

如果您要请求用户的电子邮件地址,但从未向他们询问“电子邮件”权限,您将收到如下所示的 OAuth 错误。

try {
var client = new FacebookClient("my_access_token");
dynamic result = client.Get("me/email");
var email = (string)result.email;

}

catch (FacebookOAuthException) {
    // The access token expired or the user 
    // has not granted your app 'email' permission.
    // Handle this by redirecting the user to the
    // Facebook authenticate and ask for email permission.
}
于 2014-03-05T05:33:27.853 回答