0

我一直在研究一种方法来确定用户是否喜欢特定页面,以便该页面上的选项卡可以被迷住与否。我不想提示用户对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 选项卡上时传递——如果我在 FB 之外点击 PHP 页面,我什么也得不到。我想知道是否有办法在 Facebook.com 之外获取此用户信息。

4

2 回答 2

0

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

谢谢!

于 2012-08-03T19:01:22.953 回答
0

您可以尝试将 signed_request 保存在会话或 cookie 中,这样您就可以使用它直到它过期。之后,用户将不得不再次通过标签来更新它。自然地,如果您打算使用 cookie,您应该对 signed_request 进行解码,这样任何人都无法access_token从 cookie 中找到并使用它。

于 2012-08-01T14:08:17.207 回答