我在这里看到了类似的问题,并且我添加了许多有意义的解决方案(HTML Doc 更改、重新定位和重新排序脚本/按钮),但该按钮仅在 Firefox 中呈现并且可点击。
Facebook选项卡/页面界面在这里:facebook.com/TodaysAesthetics/app_157293451075619
单击链接可以看到托管页面...(我无法发布更多链接)
FB 设置:应用程序域:有和没有 www 的托管站点(我读到 www 可能是罪魁祸首) 带有 Facebook 登录的网站 -> 站点 URL:DOMAIN/facebook/(我尝试过 DOMAIN/facebook/ 和 DOMAIN/facebook/todays)
这是我的代码:
<?php
define('YOUR_APP_ID', '[edit]');
define('YOUR_APP_SECRET', '[edit]');
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
list($encoded_sig, $payload) = explode('.', $_COOKIE['fbsr_' . $app_id], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
return null;
}
$expected_sig = hash_hmac('sha256', $payload,
$application_secret, $raw = true);
if ($sig !== $expected_sig) {
return null;
}
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&client_secret=" . $application_secret. "&redirect_uri=" . "&code=" . $data['code'];
$response = @file_get_contents($token_url);
$params = null;
parse_str($response, $args);
return $args;
}
$cookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);
if ($cookie) {
$user = json_decode(file_get_contents('https://graph.facebook.com /me?access_token=' . $cookie['access_token']));
}
?>
<?php if ($cookie) { ?>
<form>
<input type="button" id="hide" value="Print" onClick="printc()">
</form>
[MY COUPON IMAGE]
<?php } else { ?>
<fb:login-button scope="email,user_birthday,user_location" onlogin="window.location.reload()" autologoutlink="true">Connect to Facebook to View Special</fb:login-button>
<?php } ?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '<?= YOUR_APP_ID ?>', status: true,
cookie: true, xfbml: true,oauth:true});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
请让我知道我是否可以提供任何其他信息,或者我是否错过了任何答案。我已经尝试更改这些脚本与 div 等的顺序,但此时我会尝试任何方法。谢谢