페이스 북 페이지 용 사용자 정의 탭을 만들려고 노력하고 있으며 페이지의 탭과 직접 링크로 파이어 폭스, 크롬 및 인터넷 익스플로러 8에서 완벽하게 작동하지만 다른 사람들은 데리러 가지 않습니다 그들의 좋아.Facebook 팬 게이트 페이지가 다른 사람을 데리러 오지 않는다.
require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'xxxxxxxx',
'secret' => 'xxxxxx',
));
$user = $facebook->getUser();
// alternative to the below but only works on the facebook tab itself
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["page"]["liked"])) {
echo "You are not a fan!";
} else {
echo "Welcome back fan!";
}
if ($user) {
try {
$likes = $facebook->api("/me/likes/xxxxxxxxxx");
if(!empty($likes['data']))
{
?>
<script type="text/javascript" src="https://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="//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="//www.website.com/facebook/2011/voucher/EYE-TEST-DECEMBER-11.pdf" target="_blank"><img src="//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="//www.website.com/facebook/2011/voucher/EYE-TEST-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="//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 {
//user isn't logged in so just show un-liked image
?>
<img style="position:absolute; top:0; left:0; border:0;" id="all" src="//www.website.com/facebook/2011/voucher/fb_like_page.jpg" width="520" height="304" alt="Click LIKE button to get 10% off." />
<?php
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_likes'
));
}
더 많은 정보 이 앱은 샌드 박스 모드에서 하지입니다 :
여기 내 코드입니다.
나는 앱이 내 계정 설정에 나타나서 내게만 효과가 있다고 생각했는데 다른 팬 게이트 탭을 보면 권한 알림 팝업이 없어 ' 그럴 수 있니?
을하지 여부 페이지를 좋아하는 사람들을 말하는 것 : 그들은 응용 프로그램에 대한 액세스 권한을 부여했습니다 그래서하지 않는
덕분에 권한이 필요하지 않은 팬 게이트 탭을 사용할 방법이 없습니다 (FBML을 사용하여 가능할 수도 있지만 대신 iframe을 사용하지 않아도됩니다). 그렇다면 내 앱에서'user_likes' 권한을 요구하지 않는 이유는 무엇입니까? – martincarlin87
팬 게이트 페이지를 만들 수 있지만 사용자가 누구인지 모른 채 또는 모르는지 여부를 검사합니다. 두 번째 코드는 사용자가 누구인지 파악하고이를 수행하여 응용 프로그램을 인증해야합니다. $ signed_request = $ _REQUEST [ "signed_request"]; list ($ encoded_sig, $ payload) = 폭발 ('.', $ signed_request, 2); $ data = json_decode (base64_decode (strtr ($ payload, '-_', '+ /')), true); if (empty ($ data [ "page"] [ "liked"])) { echo "당신은 팬이 아닙니다!"; } else { echo "환영합니다 다시 팬!"; } 나는 var_dump ($ data)를 할 것이다; 여기에이 "좋아하는"정보가 있어야합니다. – TommyBs
감사합니다. tommy, 나는 단지'$ _REQUEST'로 시도 할 것입니다 -하지만 탭의 프레임 소스를 보면 여전히 '당신은 부채!' 그래서 이것이 아직 효과가 있을지 확실하지 않습니다. – martincarlin87