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

问题描述:

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

ON pageLoad的()...... 保护无效的Page_Load(对象发件人,EventArgs的) { 串码=的Request.QueryString [ “代码”];如果(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()); 
     } 

    } 
} 

咦?你不想让用户知道他们登录的是什么?我很困惑。在页面选项卡应用程序中,您可以提示他们授权应用程序,或者他们已经登录,向他们展示好东西。我不知道会有什么比这更好的用户体验。