FacebookClient 访问令牌始终为空

FacebookClient access token is always null

我正在使用下面的代码来显示 facebook 的登录对话框,成功登录后它会重定向到我提到的 url。

public ActionResult Index()
{
    dynamic parameters = new ExpandoObject();
        parameters.client_id = appId;
        parameters.redirect_uri = redirectUrl //Home/CompleteFacebookAuth
        parameters.response_type = "token";
        parameters.display = "popup";
        var fb = new FacebookClient();

        return Redirect(fb.GetLoginUrl(parameters));
}

问题出在 CompleteFacebookAuth 操作方法中,令牌始终为空。

public ActionResult CompleteFacebookAuth(string token)
{

        var fb = new FacebookClient(token);
        dynamic result = fb.Get("me");

}

有什么想法吗?

更新:这是 url

http://localhost:8399/Home/CompleteFacebookAuth?code=AQBb4tT_n7JPbNqSIVKovkNlKQBTNxpt3sIsPo0wOPyGbuQVHdFCMaH_MqcqosqnwEEso1tclhtGBEgBadxEeUHHtEuKQY2sqiN5LtoIm-JZjp8QlaDxTfQsGMiz4uGA4_Nn4nRX-nW0mIAvGMh-1VET8Hs544he2-DOG0l56ftcsEk9h8rUGNjHwPNT6EbLaFWA74h2dXkiNCwsizqCLnbHuBfaftIzpUPX8DJOBK0nFVD0sVeVR8MLZiGqaa82JhehBTqXVb4uX0tGOxGQCy_Rn88inW2cInled6S18z0ptbLXYl1J92Ne_RP_xZKDunY#=

令牌存储在查询字符串中,您只需更改控制器方法的参数名称即可映射令牌。这会很好用。

public ActionResult CompleteFacebookAuth(string code)
{

    var fb = new FacebookClient(code);
    dynamic result = fb.Get("me");

}