Facebookページ(昔のファンページ)について、訪問したユーザーが、「いいね」ボタンを押しているか否かの判定について説明
(注:アプリに対して、「いいね」ボタンがおされているかどうかの判定は、次の記事にて説明。なお、アプリのFacebookページについては、ここで取り上げる内容でOK。ややこしいですねw)
まず基本はアプリやタブページを作成する方法と同じです。
ソースについて記述します。
ここから↓
<?php
function parse_signed_request($signed_request, $secret) {
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);
if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
error_log('Unknown algorithm. Expected HMAC-SHA256');
return null;
}
// check sig
$expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
if ($sig !== $expected_sig) {
error_log('Bad Signed JSON signature!');
return null;
}
return $data;
}
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_', '+/'));
}
$data = '';
if (isset($_POST['signed_request'])) {
$data = parse_signed_request($_POST['signed_request'], 'アプリの秘密の文字列');
}
print '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>いいね 押してる?</title>
</head>
<body>;
f( $data['page']['liked'] ){
print 'いいねを押しくれてありがとうございます。<br />';
else{
print 'どうぞ、いいねを押してくださいませ。。。<br />';
}
print '</body>
</html>';
?>
ここまで↑
これをそのまま、ファイル名.php で保存し、Facebookページに埋め込んでください。
参考URL