我正在构建一个非常小的网页以在信息亭支架中使用。目标是让人们“喜欢”一个带有触摸屏的 Facebook 页面。
用户必须先登录才能喜欢一个页面,因此 Facebook 会提供他们的常规登录弹出窗口,这就像一个魅力。当用户登录时,该页面被点赞(因为他们点击了“Like”按钮)并且用户应该再次注销(因为没有人想在公共计算机上登录)。之后页面应该重新加载。
现在,这可以通过 Facebook 的 Javascript API 实现。他们有一个事件监听器,当用户喜欢一个页面时会调用一个函数。我只需要在该事件触发时调用 FB.logout() :) 。
不幸的是,它对我不起作用。我可能很笨,或者 Facebook API 有问题。
我的代码:
window.fbAsyncInit = function() {
FB.Event.subscribe('edge.create', function(response) {
FB.logout(function(response) {
window.location.reload();
});
});
}
但这不起作用,我认为问题出在 Facebook 的登录部分。
有没有人有这方面的经验?它应该很简单,但我无法让它工作......
我尝试过的一些事情:
提示正常登录 - 可能,但它说我的应用程序需要访问某些信息。真的,我唯一想做的就是让用户喜欢一个页面。
setTimeout 循环 - 试过这个,但 Facebook 登录似乎在我的页面上停止了整个 Javascript?
编辑:我知道人们将他们的凭据插入公共计算机是一个坏主意,但客户希望这样。还有一个链接到 Facebook 页面的二维码,但这并不能解决我的问题 :) 。
TL;DR:来自“Like”按钮的 Facebook Javascript 回调在用户登录时有效,但在用户必须通过 Facebook 弹出窗口登录时失败。