我使用facebook sdk和facebook connect使用asp.net和c#将fb集成到我的网站。用户可以成功使用代码登录。我面临的问题是每当用户通过fb登录时;如果用户从Facebook的网站注销,然后尝试使用fb connect登录我的网站,则会出错:会话无效,因为用户已退出。
我应该再次提供facebook连接按钮,因为它最初会登录,但它会出错。使用的代码如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (ConnectAuthentication.isConnected())
{
Facebook.Session.ConnectSession _connectSession = new Facebook.Session.ConnectSession(ConfigurationManager.AppSettings["ApiKey"], ConfigurationManager.AppSettings["AppSecret"]);
if (!_connectSession.IsConnected())
{
lblStatus.Text = "Please sign-in with Facebook.";
}
else
{
Facebook.Rest.Api api = new Facebook.Rest.Api(_connectSession);
Facebook.Schema.user user = api.Users.GetInfo();
string fullName = user.first_name + " " + user.last_name;
lblStatus.Text = fullName;
}
}
else
{
lblStatus.Text = "Please sign-in with Facebook.";
}
}
}
答案 0 :(得分:2)
当用户注销时,会话无效。您需要让用户再次登录。如果您不想这样做,请在身份验证期间请求“offline_access”扩展权限。这样用户就不必登录了。
仅供参考,您必须在2011年9月1日之前转移到OAuth。之后Facebook将仅支持OAuth。