【问题标题】:Facebook oAuth user details with MVC 4使用 MVC 4 的 Facebook oAuth 用户详细信息
【发布时间】:2013-09-11 19:42:12
【问题描述】:

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

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

AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication();

这将提供以下详细信息:

  • 用户名(电子邮件)
  • ProviderUserId

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

  • 用户名
  • 姓名
  • 性别

您知道是否有可能获得更多数据,比如 DoB、照片等?

【问题讨论】:

  • 你读过文档吗?您可以获取 n 件事情——每件事情都与一个权限相关联。从这里开始:developers.facebook.com
  • 文档说明如何获取附加数据?我可以在文档的什么地方找到这个?
  • 我不确定,但你可以从这里开始:facebooksdk.net/docs/phone/tutorial
  • 这就是我发这个问题的原因,如果不能实现,我不想阅读所有文档发现它不能实现。
  • 嗯,这些是基本的东西;您会在文档的开头找到它们。祝你好运! :)

标签: facebook asp.net-mvc-4 oauth twitter-oauth facebook-oauth


【解决方案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.
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 2018-11-30
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    相关资源
    最近更新 更多