Facebookページの「いいね」判定

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

このブログ記事について

このページは、takeuchi2011年2月21日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「facebook アプリ開発 $me について」です。

次のブログ記事は「test」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。