2013-10-13 3 views
0

내 앱 (페이지 1의 2 페이지)에서 링크를 클릭 할 때마다 2 페이지로 이동하지만 자동으로 다시 리디렉션되는 이유를 알 수 없습니다. 1 페이지. 이것은 실망하고 있습니다. 아래 코드에서 사용자와 모든 것을 인증하기 때문에 모든 것을 올바르게 수행 한 것처럼 느껴지지만 유일한 문제는 자동으로 인덱스 페이지로 돌아 가지 않으면 어디든지 탐색 할 수 없다는 것입니다.Facebook 앱 (캔버스 페이지)이 인덱스 페이지로 계속 리디렉션

$fb_app_id = "xxxxxxxx"; 
$fb_app_secret = "xxxxxxxxx"; 
$fb_scope = "email,user_birthday,user_location"; 
$fb_response_type = "token"; 
$canvas_page = "https://apps.facebook.com/app-name/"; 


require_once 'sdk/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '' . $fb_app_id . '', 
    'secret' => '' . $fb_app_secret . '', 
    'cookie' => true, 
)); 

    $app_id = '' . $fb_app_id . ''; 
    $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
      . $app_id . "&redirect_uri=" . urlencode($canvas_page) . ("&scope=" . $fb_scope . "&response_type=" . $fb_response_type . ""); 
    $signed_request = $_REQUEST["signed_request"]; 
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 
    if (empty($data["user_id"])) { 
      echo("<script> top.location.href='" . $auth_url . "'</script>"); 
    } else { 
      $UserId = $data["user_id"]; 
      $token = $facebook->getAccessToken(); 

      $facebook->setAccessToken($token); 
      $user_profile = $facebook->api('/me/'); 
} ... 

누군가가 이것을보고 내가 잘못하고있는 것이 무엇인지 말해 줄 수 있습니까? 사전에

감사합니다!

답변

0

문제 해결 ....

require_once 'sdk/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '0000000000000000000', 
    'secret' => 'if-i-tell-ya-ill-have-to-kill-ya', 
    'cookie' => true, 
)); 
$canvas_page = "https://apps.facebook.com/whatever/"; 

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
     . $fb_app_id . "&redirect_uri=" . urlencode($canvas_page) . ("&scope=" . $fb_scope . "&response_type=" . $fb_response_type . ""); 
    $signed_request = $_REQUEST["signed_request"]; 

$uid=$facebook->getuser(); 
if(empty($uid)){ echo("<script> top.location.href='" . $auth_url . "'</script>");} 
else { // do something } 
관련 문제