我有一个使用 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/ http://developers.facebook.com/docs/authentication/permissions/ )
向授权添加权限的方法是将逗号分隔的列表附加到&scope=
, e.g.:
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
Update:正如您所标记的,参数被传递到GetLoginUrl()
方法,尽管在 codeplex 论坛中他们也使用了ExchangeCodeForAccessToken()
,您可能也想看看。
使用 C# SDK 的几个示例:
http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-first-Facebook-Application.aspx http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-first-Facebook-Application.aspx
Facebook .NET SDK:如何使用 ASP.NET MVC 2 进行身份验证 https://stackoverflow.com/questions/5075290/facebook-net-sdk-how-to-authenticate-with-asp-net-mvc-2
http://facebooksdk.codeplex.com/discussions/244568 http://facebooksdk.codeplex.com/discussions/244568
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)