我正在为我的网站建立一个扇形门,以赠送一些优惠券。 这是我的代码:
<?php
require_once 'facebook.php';
$app_id = "xxxxxxxxxxxxxxx";
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
print_r($_REQUEST);
$signed_request = $facebook->getSignedRequest();
echo "<pre>";
print_r($facebook->getSignedRequest());
echo "</pre>";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$like_status = $signed_request["page"]["liked"];
print_r($facebook);
?>
我发现$ facebook-&gt; getSignedRequest()的返回值;当我通过apps.facebook.com/xxxxxxxxxxxxxxxxxxxxxx/访问我的应用程序时以及当我访问www.coupon.mysite.com/facebook/index.php
时有所不同通过apps.facebook.com/xxxxxxxxxxxxxxxxxxxxxx/: Facebook对象([appId:protected] =&gt; 15255288xxxxxxxx [appSecret:protected] =&gt; XXXXXXXXXXXXXXXXXXXX [user:protected] =&gt; [signedRequest:protected] =&gt;数组([algorithm] =&gt; HMAC-SHA256 [issued_at] ] =&gt; xxxxxxxxxxxxx [user] =&gt;数组([country] =&gt; hk [locale] =&gt; en_US [age] =&gt;数组([min] =&gt; 21)))[状态:受保护] =&gt; [accessToken:protected] =&gt; [fileUploadSupport:protected] =&gt;)
通过www.coupon.mysite.com/facebook/index.php: Facebook对象([appId:protected] =&gt; xxxxxxxxxxxxxxxxxxx [appSecret:protected] =&gt; xxxxxxxxxxxxxxxxxx [user:protected] =&gt; [signedRequest:protected] =&gt; [state:protected] =&gt; [accessToken:protected] =&gt; [fileUploadSupport:protected] =&gt;)
因为$ facebook-&gt; getSignedRequest();所以粉丝门不会工作总是在我的服务器端返回null。我已经做了几天寻找这个问题但仍然不明白是什么问题。非常感谢任何帮助。
答案 0 :(得分:1)
^ ...继续评论:
首先,如果你这样做,你的用户会讨厌你;其次,该插件有点骗局 - 如果用户喜欢某个页面,它只会使用cookie来存储 - 但是如果你删除了你的cookie,你就会被锁定在内容之外,因为你无法喜欢再次页面。此外,没有Javascript,它将无法运作。
当用户点击“赞”按钮时,所有插件都会挂钩“喜欢”操作
FB.Event.subscribe('edge.create', function(href, response){});