如果用户喜欢使用顶部官方Facebook“喜欢”按钮的iframe页面标签,我需要记录到数据库。我在stackoverflow上搜索了一下,发现了一个javascript片段......
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
}
);
但它不会触发官方按钮(只有按钮添加到页面中)?我在FB.init之后和FB.Canvas在异步调用中调整大小之前声明它。有没有办法在PHP中捕获这个 - 可能在刷新时? JS或PHP都可以(因为JS可以简单地ajax一个php文件)。签名的请求包含他们是否喜欢该页面,但我需要捕获它,因为它发生(或刚刚发生)。 任何帮助非常感谢: - )
答案 0 :(得分:0)
尝试:
window.fbAsyncInit = function(){ FB.Event.subscribe('edge.create',function(targetUrl){ _gaq.push(['_ trackSocial','facebook','like',targetUrl]); }); };
我认为你只需要在fbAsyncInit中设置下标。
答案 1 :(得分:0)
最终它是纯粹的PHP方式吗?
1:从Facebook获取已签名的请求并提取喜欢的统计信息
2:根据签名请求值创建变量$ likes并设置为“yes”或“no”
3:操作会话 - 使用会话,因为当您“喜欢”时会刷新页面,但会话仍然存在(但请求值已更改)
if(isset($_SESSION['likestatus'])){
if($_SESSION['likestatus'] == "no" && $liked == "yes"){
// do mysql updatestuff cause has liked page since session started
$_SESSION['likestatus'] = $liked;
}
else{
$_SESSION['likestatus'] = $liked;
}
}
else {
$_SESSION['likestatus'] = $liked;
}