Facebook c# sdk 获取用户电子邮件

标签 facebook oauth facebook-c#-sdk

我有一个使用 facebook 进行身份验证的网站。我想在用户注册时收集一些基本信息,包括他们的电子邮件地址。

我的登录代码是标准的:

public ActionResult Login(string returnUrl)
    {
        var oAuthClient = new FacebookOAuthClient();
        oAuthClient.AppId = AppSettings.GetConfigurationString("appId");
        oAuthClient.RedirectUri = new Uri(AppSettings.GetConfigurationString("redirectUrl"));
        var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", returnUrl } });
        return Redirect(loginUri.AbsoluteUri);
    }

我如何添加访问权限的请求?或者我用另一种方式做?

最佳答案

您需要使用 email 权限(完整列表在这里: http://developers.facebook.com/docs/authentication/permissions/ )

向授权添加权限的方法是将逗号分隔的列表附加到 &scope= ,例如:
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
更新: 正如您所标记的,参数被传递给 GetLoginUrl() 方法,尽管在 codeplex 论坛中他们也使用了 ExchangeCodeForAccessToken() ,您可能也想看看。

几个使用 C# SDK 的示例:

http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-first-Facebook-Application.aspx

Facebook .NET SDK: How to authenticate with ASP.NET MVC 2

http://facebooksdk.codeplex.com/discussions/244568

关于Facebook c# sdk 获取用户电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625532/

相关文章:

database - 如何将 ID 和电子邮件存储到数据库中?

c# - 反序列化动态对象

ios - 在 iOS 上通过 Facebook 页面的图形 API 进行排序

unit-testing - 单元测试 Web API - 如何获取身份验证 token

Ruby、Mechanize、OAuth 和 LinkedIn 合二为一?

r - twitter 包的 OAUTH 问题

facebook-c#-sdk - 使用 Facebook C# SDK 作为页面而不是管理员用户在 Facebook 页面上发布

facebook - Facebook 登录对话框中未显示权限

iphone - 如何允许用户使用适用于 iOS 的 Facebook SDK 将我们的 Facebook 公司资料设为 "Like"?

php - 从 Facebook Graph API 获取用户名