Я пытаюсь создать настраиваемую вкладку для страницы facebook, и она отлично работает для меня в Firefox и Internet Explorer 8 как на вкладке на странице, так и в качестве прямой ссылки, но для других она просто выглядит пустой.
Я также являюсь администратором страницы, и если я попытаюсь войти в систему как кто-то другой, она станет пустой и для меня.
Вот мой код:
require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxx',
));
$user = $facebook->getUser();
if ($user) {
try {
$likes = $facebook->api("/me/likes/PAGEID");
if( !empty($likes['data']) )
{
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#fan').click(function() {
$('#fan').animate({
opacity: 0.2,
width: 'auto',
height: 'auto'
}, 1000, function() {
// Animation complete.
$('#fan').hide('slow');
$('#voucher').show('slow');
});
});
});
</script>
<a href="#"><img id="fan" src="http://www.website.com/facebook/2011/voucher/fans_image.jpg" alt="10% off" style="border:0;" /></a>
<div style="display:none; position:absolute; top:0; left:0;" id="voucher" >
<a href="http://www.website.com/facebook/2011/voucher/voucher-11.pdf" target="_blank"><img src="http://www.website.com/facebook/2011/voucher/fb-voucher-dec11.jpg" style="border:0;" alt="10% off" /></a> <br />
<p style="text-align:center"><a href="http://www.website.com/facebook/2011/voucher/DECEMBER-11.pdf" target="_blank">Click here to download PDF version of the voucher.</a></p>
</div>
<?php
}
else
{
?>
<img style="position:absolute; top:0; left:0; border:0;" id="all" src="http://www.website.com/facebook/2011/voucher/fb_like_page.jpg" width="520" height="304" alt="Click LIKE button to get 10% off" />';
<?php
}
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
}
else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_likes'
));
}
В прошлом я разработал еще одно приложение для Facebook, с которым у меня были похожие проблемы, но оно было сломано на несколько часов, а затем неожиданно сработало.
Я весь день возился с этим кодом и настройками приложения и даже изменил разрешения для index.php, который вызывается в iframe, на 755, но он все еще выглядит пустым: (*
Подробнее
Приложение находится в режиме , а не в режиме песочницы, вот настройки приложения:
Basic
Website: Site URL: http://www.website.com/
App on Facebook: Canvas URL: http://www.website.com/facebook/2011/discount-voucher/
: Secure Canvas URL: https://www.website.com/facebook/2011/discount-voucher/
Page Tab: Page Tab URL: index.php
Secure Page Tab URL: index.php
Advanced
App Type: Web
Deauthorize Callback: *blank*
Sandbox Mode: Disabled
Migrations:
Remove Deprecated APIs: Enabled
Stream post URL security: Disabled
Timezone-less events: Enabled
Upgrade to Requests 2.0: Enabled
Require manage_notifications: Enabled
Include recent activity stories: Enabled
Enhanced Auth Dialog: Enabled
page_hours_format: Enabled
Graph Batch API Exception Format: Enabled