2016-03-26 6 views
0

私はFacebookのページに似ているかどうかに基づいてjavascriptを使用して異なるコンテンツを表示するWebページを作成しようとしています。Javascriptを使用して、ユーザーがあなたのFacebookのページを好きかどうかに基づいてさまざまなコンテンツを表示します。

<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> 

私はそれは、ユーザが自分のFacebookのページのように持っているかどうかに基づいてのdiv#のcontainer_notlikeかのdiv#container_likeは表示されませんので、上記のコードでは、問題が何であるかを把握しようとしている:ここに私のコードですか否か。どんな提案も大歓迎です。

答えて

0

FQLは廃止され、新しいアプリケーションでは動作しなくなりました。そのコードは非常に古いです。代わりに、ユーザーがGraph APIの/me/likesエンドポイントを持つページを好きかどうかを確認できます。コンテンツをゲートしたり、好きな人にインセンティブを与えることは許されません。異なるコンテンツを表示するだけでuser_likesが承認されることはほとんどありません。

Btwの場合、特定のページを確認することもできます。/me/likes/[page-id] - ページデータを取得した場合は、ページが好きという意味です。

関連する問題