Facebook App不适用于facebook.php SDK

时间:2011-09-26 15:51:53

标签: facebook facebook-php-sdk

不确定为什么这不起作用,并希望有人能指出我正确的方向。

我有一个Facebook标签应用,应根据用户“是否喜欢我们”显示不同的内容。

require_once('src/facebook.php');
$app_id = "142214XXXXXXXX";  <--this is correct just hidden
$app_secret = "31275c8895XXXXXXXX";
$facebook = new facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];

//just for testing (nothing shows up, nor does print($signed_request)
echo "the page is ".$page_id;

if(!$like_status){
echo "Please LIKE US to get this offer or check back on Sept 27";
} else {
echo '<img src="https://www2418.ssldomain.com/frightfurnace/SLOSSbogo.jpg"/><BR />
<a href="http://www.frightfurnace.com/coupon.asp">Printable Page</a>';
}

现在,我知道SDK已安装并正常工作,因为它可以与示例一起使用: http://www.frightfurnace.com/Facebook/example.php

我还确保我在Facebook App设置中使用绝对网址。 我在用 http://www.frightfurnace.com/Facebook/coupon.php

与SSL相同。

任何想法,有点受阻。所有帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

在其他人需要的情况下找到答案。

在Facebook上转到您的应用 https://developers.facebook.com/apps/

转到编辑设置

在左侧点击高级

Canvas的signed_request :(启用它) iframe页面标签:(已启用)

在“画布设置”下,确保“画布类型”为 的iFrame

似乎为我工作。

答案 1 :(得分:0)

要检查的另一件事:标签/画布网址必须与所需的完全相同。如果有重定向到另一个页面,则不会发送已签名的请求和其他值。您可以使用浏览器嗅探器进行检查,如果对页面的调用以300(301/302等)重定向进行响应,则需要更改为重定向到的内容。

示例:

https://example.com/可能需要https://www.example.com/(添加www。或删除www。取决于服务器的设置方式)

www.example.com/可能需要www.example.com/index.php(添加index.php或右页)。

检查您是否在网址中正确使用http://和https://,并且https://返回有效网页。