Update2 这篇文章已经老了但仍然相关..下面是我解决它的方式.我标记了其他人回答,因为我认为它更好地回答了这个问题.我在accountcontroller中调用了一个类似的方法(我将要重构:)).字符串应该是一个列表......我想你明白了.
/// <summary>
/// Use this method when an action fails due to lack of priviligies. It will redirect user to facebook with provided permission request.
/// Refactor to handle list of request.
/// </summary>
/// <param name="permission"></param>
private static void AddAdditionalPermissions(string permission)
{
System.Diagnostics.Trace.TraceInformation(permission + " not authorized for user.");
string facebook_urlAuthorize_base = "https://graph.facebook.com/oauth/authorize";
string scope = permission; //see: https://developers.facebook.com/docs/authentication/permissions/ for extended permissions
string urlAuthorize = facebook_urlAuthorize_base;
urlAuthorize += "?client_id=" + AppId;
urlAuthorize += "&redirect_uri=" + "https://fbd.anteckna.nu/";
urlAuthorize …Run Code Online (Sandbox Code Playgroud) 使用新的OAuthWebSecurity对Facebook进行身份验证,我在我的Facebook应用程序中添加了电子邮件权限.现在,正如我可以阅读的那样,我需要定义一个范围,以便能够在结果中实际获取电子邮件.到目前为止没有范围我没有收到用户的电子邮件,我不知道为什么因为我看不到在哪里定义"范围".
这只是ASP.NET MVC 4默认身份验证控制器外部登录的一小部分.