いやー。
CSSでつまづいてるとは・・・・
なんというか、「CSSさんお久しぶりっす!」
と挨拶したら
「ふふふ。誰だ君は?」
と返されるがごとく苦戦してた。
paddingとかちょ!!
あと久しぶりに画像いじった。
いや、すごく簡単なんだけどね。。。。。
嫌に疲れた本日でした。
いやー。
CSSでつまづいてるとは・・・・
なんというか、「CSSさんお久しぶりっす!」
と挨拶したら
「ふふふ。誰だ君は?」
と返されるがごとく苦戦してた。
paddingとかちょ!!
あと久しぶりに画像いじった。
いや、すごく簡単なんだけどね。。。。。
嫌に疲れた本日でした。
すでにactdoorって使われてるのねー
だれやねん・・・
いやー
なんだかんだいって
facebookページには苦戦しっぱなしw
今回はスクロールバーを消す方法
まず、htmlのheadに
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
を書き込みます。できれば<head>直下が望ましい。
次にbodyに
<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
appId : 'アプリケーションID',
status : true, // check login status
cookie : true, // enable cookies
xfbml : true, // parse XFBML
logging : true
});
FB.Canvas.setAutoResize();
</script>
を書き込みます。できればこれも<body>直下が望ましい。
そして、facebookのアプリの管理ページでアプリを選択後
詳細設定=>Canvas Settings
で幅と高さを 可変 にしてください。
言語とかによっては表示が異なるかもしれません。
SSLの設定等大変な課題がたくさんです。。。。
facebookページ イイネ後の処理 別HTMLを表示
タイトルわかりづらいw
ですが続けていきます。
今回の学んだものは
facebookのページで
いいね!
を押す前と押した後の変化について書いていきます。
いいね!が押されたら違うWebページに飛ばしたい。
まず、facebookのアカウントを持っていて、開発者登録をしていることが前提となります。
さらにiFrameを利用しているので別のPHPが使えるサーバーが必要になります。
以上の作業(開発者登録とか)に関してはこちら
を参照ください。
さて、書いていきます。
ファイル構成をは最後に書きます。
下のプログラムを index.php として保存してください。
<?php
include_once('parse_signed_request.php');
if ( isset($_POST['signed_request']) ) {
$fb_data = parse_signed_request($_POST['signed_request'], 'アプリの秘訣'); //アプリの秘訣に関しては後述参照
if( $fb_data['page']['liked'] ){
include_once('■.html'); //いいねを押した後のページ
}
else {
include_once('▲.html'); //いいねを押す前のページ
}
}
?>
解説!
上から順にね!
<?php
はここからPHPのプログラムですよと
include_once('parse_signed_request.php');
は、facebook自身のプログラムにかかわってくるところなので
専用のものを使います。
以下のソースを parse_signed_request.php で保存してください
<?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, '-_', '+/'));
}
?>
if ( isset($_POST['signed_request']) ) {
はPOSTでsigned_requestを受け取ったかどうかを調べます。(変数の中に値があるかないか) TRUE なら 以下を実行します
$fb_data = parse_signed_request($_POST['signed_request'], 'アプリの秘訣');
アプリの秘訣はココ
にアクセスしてアプリを選択後に'アプリの秘訣'と書かれている英数字の羅列をそのままコピー&ペーストしてください。(コピーしたら、プログラムの'アプリの秘訣'の「アプリの秘訣」をけして「''」の間にペーストしてください)
if( $fb_data['page']['liked'] ){
これはいいね!判定です。 英語だと Liked です。
include_once('■.html'); //いいねを押した後のページ
}
else {
include_once('▲.html'); //いいねを押す前のページ
}
■や▲を適当な名前に変えてください。 例)mae.htmlなど
?>
はPHPのプログラムの終わりだよってこと
後は
index.php
と同じフォルダの中に
parse_signed_request.php
や■.html、▲.htmlなどを入れておく
これらをサーバーにアップロードして
先ほど見たiFrameの設定を変えてやればよい
以上!
意外と楽!
問題なのは中身!htmlのほうだね!
情けないことに風邪を拗らせてしまいました。
ああ開発が進まない。やってない。