我目前正在使用Facebook Javascript SDK和Facebook C#SDK(用于检索用户图形对象的soley)。
到目前为止,除了以下情况外,所有事情都很顺利:
使用Javascript SDK,我可以使用FB.getLoginStatus方法来确定它们是否已连接(在这种情况下它们就像我以前授权我的网站/应用程序进行Facebook登录一样)。
但是,如果我们处于“连接”状态,我需要能够首次在主页上检测我的站点加载,理想情况是服务器端,如果是,则将一些不同的内容呈现给屏幕(登录vs未登录。)
我目前无法在Facebook C#SDK中看到一个服务器端方法,它使我能够完成相同的FB.getLoginStatus(clientside)。
我应该指出,对用户loginstatus的任何后续更改都是通过订阅auth.authResponseChange事件来处理的,并且所有这些都在那里正常工作,但是当用户第一次点击网站时,页面首次加载是问题。
答案 0 :(得分:1)
使用任何Facebook SDK都无法在服务器上执行此操作。您必须使用Facebook Javascript SDK检测用户的状态。原因是这些信息存储在cookie中,这些cookie只能由facebook.com读取或者在您的域中,但是由Facebook设置,不应该被您的应用解析。
如果您愿意,可以在您的域上解析cookie,但不建议这样做,因为Facebook认为这些cookie是内部实现细节,并不保证其内容。他们可以随时更改并破坏您的应用。