有没有办法通过FB / SDK之外的FB PHP SDK获取signed_request?

时间:2012-08-01 13:52:45

标签: facebook facebook-graph-api oauth facebook-php-sdk facebook-authentication

我一直在努力确定某个用户是否喜欢某个特定页面,以便该页面上的标签可以被识别。我不想提示用户授权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之外获取此用户信息。

2 个答案:

答案 0 :(得分:0)

您可以尝试在会话或Cookie中保存signed_request,以便在其过期之前使用它。之后,用户必须再次通过选项卡进行更新。当然,如果您计划使用cookie,则应保持signed_request已解码,以便没有人能够找到并使用cookie中的access_token

答案 1 :(得分:0)

听起来这在Facebook标签之外并不可行。我们已经开始在PHP中部署我们的标签,以便在没有用户操作的情况下提取这些数据。

谢谢!