CodeIgniter + Facebook SDK (3.x) 中
使用
$user = $facebook->getUser();
一直都回覆 0
從 2012-12-31 查問題 到今天
花了一年的時間 才解決這個問題
只要在 require facebook sdk 前 加上一行 就收工:
parse_str($_SERVER['QUERY_STRING'], $_REQUEST); # 加上這行 require $_SERVER['DOCUMENT_ROOT'] ."/facebook-php-sdk-v3.2.2/src/facebook.php";因 facebook PHP SDK 中都是用 $_REQUEST[] 來取得 $_GET 的相關資料
而 $_REQUEST[] 內的資料卻早就被 CI 給清掉了
Note:
關於 $_REQUEST
$_REQUEST = $_POST + $_GET + $_COOKIE
所有 $_POST、$_GET、$_COOKIE 內的資料,都可經由 $_REQUEST 來取得
相關參考:
Using Facebook PHP SDK 3 with CodeIgniter 2.1
Facebook PHP-SDK with CodeIgniter not returning $_REQUEST['signed_request']
CodeIgniter Facebook API getuser always 0