主要是取消了過去要透過SESSION 取得使用者資料,
而改為直接取得使用資料。
語法改變如下
require 'facebook.php';
//建立FACEBOOK SDK 物件
$facebook = new Facebook(array(
'appId' => '1111111',// 應用程式ID
'secret' => '1111111', // 應用程式密鑰
'cookie' => true,
));
//嘗試取得使用者ID
$uid = $facebook->getUser();
//設定跳回的應用程式網址
$redirectUrl = 'http://apps.facebook.com/helloworld_tw/ch7_d/';
//設定跳回的應用程式網址
$loginUrl = $facebook->getLoginUrl(
array('scope' => 'publish_stream',//新版的授權參數
'redirect_uri'=>$redirectUrl,//回傳網址
'canvas' => 1, 'fbconnect' => 0
));
//檢查是否存在使用者ID
if($uid) {
//有使用者ID,嘗試取得個人資料
//有使用者ID,嘗試取得個人資料
try {
$me = $facebook->api('/me');
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$uid = null;
$me = null;
}
}else{
//沒有使用者ID,導引到登入頁面
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
//已取得使用者資料,利用GRAPH API 存取使用者對應用程式的授權,
$permissions = $facebook->api("/me/permissions");
//檢查授權清單,以避免使用者缺乏蹶別授權項目
if(!array_key_exists('publish_stream', $permissions['data'][0]) ) {
//缺乏蹶別授權項目,,導引到登入頁面
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
}else{
//沒有使用者ID,導引到登入頁面
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
//已取得使用者資料,利用GRAPH API 存取使用者對應用程式的授權,
$permissions = $facebook->api("/me/permissions");
//檢查授權清單,以避免使用者缺乏蹶別授權項目
if(!array_key_exists('publish_stream', $permissions['data'][0]) ) {
//缺乏蹶別授權項目,,導引到登入頁面
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
作者您好,所以是修改ch3裡index.php的
回覆刪除require....到";
把這部分替換成上面嗎?
上面有哪些地方需要更改
我是要用在CH3那邊,所以導回那邊改成
回覆刪除$redirectUrl = 'http://apps.facebook.com/helloworld_tw/ch3/';
還有哪裡需要改嗎,ID密碼那邊以外的,謝謝
http://apps.facebook.com/helloworld_tw/ch3/ 要換成你自己指定的
回覆刪除APP網址~其他就沒有要改了~