我一直在努力确定某个用户是否喜欢某个特定页面,以便该页面上的标签可以被识别。我不想提示用户授权user_likes,所以我避免了JS SDK并使用了PHP SDK:
<?php
require 'src/facebook.php';
$app_id = "...";
$app_secret = "...";
$facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];
/* testing response */
if ($like_status) {
/* liked content */
} else {
/* not liked content */
}
?>
我的问题是只有当代码在FB选项卡上时才传递signed_request - 如果我在FB之外点击PHP页面,我什么也得不到。我想知道是否有办法在Facebook.com之外获取此用户信息。
答案 0 :(得分:0)
您可以尝试在会话或Cookie中保存signed_request,以便在其过期之前使用它。之后,用户必须再次通过选项卡进行更新。当然,如果您计划使用cookie,则应保持signed_request已解码,以便没有人能够找到并使用cookie中的access_token
。
答案 1 :(得分:0)
听起来这在Facebook标签之外并不可行。我们已经开始在PHP中部署我们的标签,以便在没有用户操作的情况下提取这些数据。
谢谢!