facebook iframe - 获取facebook徽标而不是弹出式身份验证

时间:2012-01-02 20:52:02

标签: facebook facebook-iframe server-side

(使用服务器端流程)我有一个Facebook应用程序通过其中一个选项卡附加到Facebook页面,这使得应用程序在iframe中。我使用下面的代码来获取访问令牌,但仅当用户点击Facebook徽标并验证应用程序时。我的问题是我应该怎么做,这样我可以获得更好的用户体验,而不是显示Facebook徽标的东西。 感谢。

ON pageLoad()......     protected void Page_Load(object sender,EventArgs e)     {         string code = Request.QueryString [“code”];         if(HttpContext.Current.Session [“fbAccessToken”]!= null)         {             authToken = HttpContext.Current.Session [“fbAccessToken”]。ToString();         }

    if (!String.IsNullOrEmpty(authToken))
    {
        thisUserFBID.Value = HttpContext.Current.Session["fbUserId"].ToString();
    }
    else if (code == "" || code == null)
    {
        Response.Redirect(appHelp.GetCodeUrl());
        //Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "shareMe();", true);
    }
    else
    {
        authToken = appHelp.GetAccessToken(code);
        Session["access_token"] = authToken;
        HttpContext.Current.Session["fbAccessToken"] = authToken;

        try
        {
            var fb = new FacebookClient();
            fb.AccessToken = authToken;
            dynamic me = fb.Get("me");
            thisUserFBID.Value = (string)me.id;
            HttpContext.Current.Session["fbUserId"] = thisUserFBID.Value;
            if (me.locale != null)
                lang = (string)me.locale;
            else
                lang = "en_US";
            HttpContext.Current.Session["lang"] = lang;
        }
        catch (Exception)
        {
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "shareMe();", true);
            //Response.Redirect(appHelp.GetCodeUrl());
        }

    }
 }

1 个答案:

答案 0 :(得分:0)

咦?您不想让用户知道他们登录的是什么?我很困惑。在页面选项卡应用程序中,您可以提示他们授权应用程序,或者如果他们已经登录,请向他们展示好的内容。我不知道什么会带来更好的用户体验。