Asp.net mvc 3 无法使用C#facebook SDK获取任何facebook权限

Asp.net mvc 3 无法使用C#facebook SDK获取任何facebook权限,asp.net-mvc-3,facebook-c#-sdk,Asp.net Mvc 3,Facebook C# Sdk,我有一个相当简单的网站,允许用户通过facebook进行连接 我使用的是C#facebook sdk MVC 起初,我不需要任何特定的权限,所以用户连接时没有问题。我的代码是这样的 public class FacebookController : BaseController { public FacebookSession FacebookSession { get { return (new CanvasAuthorizer().Session); }

我有一个相当简单的网站,允许用户通过facebook进行连接

我使用的是C#facebook sdk MVC

起初,我不需要任何特定的权限,所以用户连接时没有问题。我的代码是这样的

public class FacebookController : BaseController
{
    public FacebookSession FacebookSession
    {
        get { return (new CanvasAuthorizer().Session); }
    }
    public ActionResult Profile()
    {
        var client = new FacebookClient(this.FacebookSession.AccessToken);
        dynamic me = client.Get("me");
        ViewBag.Name = me.name;
        ViewBag.Id = me.id;
        return View();
    }
}
在我的网络配置上

<facebookSettings appId="XXXXXXXXXXXXXX" appSecret="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
这给了我一个例外: 异常详细信息:系统。异常:CanvasUrl为null或空

因此,我在我的网络配置中添加了canvasUrl,这使我在不显示canvasPage的情况下出现了相同的错误,所以现在我的网络配置中包含了所有4个

<facebookSettings appId="XXXXXXXXXX" appSecret="XXXXXXXXXXXXXXXXXXXXx" canvasUrl = "http://localhost:60606/" canvasPage = "https://apps.facebook.com/XXXXXXXXXXXX/"/>

因此,现在我的用户可以通过facebook登录,我的问题是,当他登录时,他会被重定向到我的facebook应用程序(http://apps.facebook.com/XXXXXXXXX/facebook/profile

而是返回我的站点(http://localhost:60606/facebook/profile

如何获得所需的权限,并在用户登录后将其重定向回我的站点

谢谢

好吧,我的错

CanvasAuthorization听起来就是canvas的授权。 因此,如果没有facebook上的应用程序画布,你就无法使用它

我应该做的是使用FacebookOAuthClient

var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current);
oAuthClient.RedirectUri = new Uri("XXXXXXXXXXXXXX");
var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", null }, { "scope", "user_about_me,user_relationships,email" } });
return Redirect(loginUri.AbsoluteUri);
var oAuthClient=new-facebookouthclient(FacebookApplication.Current);
oAuthClient.RedirectUri=新Uri(“XXXXXXXXXXXXX”);
var loginUri=oAuthClient.GetLoginUrl(新字典{{“state”,null},{“scope”,“user\u关于我,user\u关系,email});
返回重定向(loginUri.AbsoluteUri);
var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current);
oAuthClient.RedirectUri = new Uri("XXXXXXXXXXXXXX");
var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", null }, { "scope", "user_about_me,user_relationships,email" } });
return Redirect(loginUri.AbsoluteUri);