(使用服务器端流程)我有一个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());
}
}
}
答案 0 :(得分:0)
咦?您不想让用户知道他们登录的是什么?我很困惑。在页面选项卡应用程序中,您可以提示他们授权应用程序,或者如果他们已经登录,请向他们展示好的内容。我不知道什么会带来更好的用户体验。