是否可以设置粉丝页面如下工作?
我正在努力的两个部分是:
通过查看用户是否已经喜欢我的应用,我是否可以使用PHP或Javascript从我的应用中控制喜欢/不喜欢的图形? 如何强制喜欢的页面加载760px宽的应用程序?
答案 0 :(得分:0)
您可以捕捉类似按钮事件。
示例:
<script>
window.fbAsyncInit = function() {
FB.init({appId: '127654160646013', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 520, height: 742 });
FB.Event.subscribe('edge.create', function(response) {
window.parent.location = ADDRESS;
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/lt_LT/all.js';
document.getElementById('fb-root').appendChild(e);
})();
</script>
您还需要获得用户粉丝状态。这是一个解决方案:
<?
define('FACEBOOK_APP_ID', 'xxx');
define('FACEBOOK_APP_SECRET', 'xxx');
$is_fan = false;
if (!empty($_REQUEST['signed_request'])) {
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$expected_sig = hash_hmac('sha256', $payload, FACEBOOK_APP_SECRET, true);
if ($sig == $expected_sig) {
if (!empty($data['page']['liked'])) {
$is_fan = true;
}
}
}
?>
您需要的一切。请记住,您只能通过javascript重定向:
window.parent.location = ADDRESS;