2016-03-26 12 views
0

Bir kullanıcının facebook sayfamı sevip beğenmediğine bağlı olarak javascript kullanarak farklı içerik gösteren bir web sayfası oluşturmaya çalışıyorum.Bir kullanıcının facebook sayfanızı beğenip beğenmediğine bağlı olarak farklı içeriği göstermek için Javascript kullanın

<html> 
<head> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<style type="text/css"> 
div#container_notlike, div#container_like { 
display: none; 
} 
</style> 
</head> 
<body> 


<div id="fb-root"></div> 

<div id="container_notlike"> 
YOU DON'T LIKE ME :(
</div> 
<div id="container_like"> 
YOU LIKE ME :) 
</div> 

<script> 
window.fbAsyncInit = function() { 
FB.init({ 
appId : '1580931722230159', // App ID 
channelUrl : 'http://connect.facebook.net/en_US/all.js', 
status : true, // check login status 
cookie : true, // enable cookies to allow the server to access the session 
xfbml : true // parse XFBML 
}); 
FB.getLoginStatus(function(response) { 
var page_id = "410090789179594"; 
if (response && response.authResponse) { 
var user_id = response.authResponse.userID; 
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id; 
FB.Data.query(fql_query).wait(function(rows) { 
if (rows.length == 1 && rows[0].uid == user_id) { 
console.log("LIKE"); 
$('#container_like').show(); 
} else { 
console.log("NO LIKEY"); 
$('#container_notlike').show(); 
} 
}); 
} else { 
FB.login(function(response) { 
if (response && response.authResponse) { 
var user_id = response.authResponse.userID; 
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id; 
FB.Data.query(fql_query).wait(function(rows) { 
if (rows.length == 1 && rows[0].uid == user_id) { 
console.log("LIKE"); 
$('#container_like').show(); 
} else { 
console.log("NO LIKEY"); 
$('#container_notlike').show(); 
} 
}); 
} else { 
console.log("NO LIKEY"); 
$('#container_notlike').show(); 
} 
}, {scope: 'user_likes'}); 
} 
}); 
}; 
// Load the SDK Asynchronously 
(function(d){ 
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
js = d.createElement('script'); js.id = id; js.async = true; 
js.src = "//connect.facebook.net/en_US/all.js"; 
d.getElementsByTagName('head')[0].appendChild(js); 
}(document)); 
</script> 

</body> 
</html> 

Ben bir kullanıcı facebook sayfası gibi olup temel div # container_notlike veya div # container_like göstermez çünkü yukarıdaki kodda sorunun ne olduğunu anlamaya çalışıyorum: İşte benim kodudur ya da değil. Herhangi bir öneri çok takdir edilecektir.

cevap

0

FQL artık kullanılmıyor ve artık yeni uygulamalarda çalışmıyor. Bu kod çok eskidir. Bir kullanıcının Grafik API'sinin /me/likes son noktasına sahip olmasını isteyip istemediğini kontrol edebilirsiniz. İçeriği kapatmanıza veya herhangi bir şekilde beğenilerini teşvik etmenize izin verilmediğini unutmayın. Büyük olasılıkla farklı içerik göstermek için user_likes onaylanmayacaksınız.

Btw, belirli bir Sayfa için de kontrol edebilirsiniz: /me/likes/[page-id] - Sayfa verisini alırsanız, bu Sayfa'yı beğendiğiniz anlamına gelir.

İlgili konular