本周末我刚刚开始使用Facebook SDK。我正在尝试将Facebook整合到一个网站中。我按照样本和文档进行了Facebook登录按钮并快速显示“面孔”(漂亮的工具包)。
<fb:login-button autologoutlink="true" perm="email" show-faces="true" width="200" max-rows="1"></fb:login-button>
我想检查用户是否已经过身份验证(通过Facebook)。这与我在许多样本中看到的没什么不同。我遇到的问题是,在我的Page_Load中,authorizer.IsAuthorized
即使在我进行身份验证后也会返回False(我的个人资料图片也会显示)。有什么东西我不见了吗?
protected void Page_Load(object sender, EventArgs e)
{
try
{
Facebook.FacebookApp app = new Facebook.FacebookApp();
Facebook.Web.Authorizer authorizer = new Facebook.Web.Authorizer(app);
if (authorizer.IsAuthorized())
{
}
else
{
}
}
catch (Exception ex)
{
}
}
答案 0 :(得分:2)
我使用了4.1.1版本的Facebook C#SDK,直到遇到同样的问题。 然后我下载了Version 4.2.1并删除了任何Authorizer.Perms。
FacebookApp fbApp = new FacebookApp(access_token);
Authorizer fbAuth = new Authorizer(fbApp);
fbAuth.IsAuthorized();// returns true
问题解决了。
原因是,即使您在Facebook上授权申请,UserId也会变成0。 他们解决了。现在,当您使用FacebookApp(access_token)构造函数时,它将从中获取UserId 的access_token。