2012-03-17 2 views
2

난 그냥 페이스 북 응용 프로그램을 만든하십시오, 이것은 내 첫 번째 시도이며, 응용 프로그램 권한을 부여하는 동안이 오류에 stucked 오전 명시된 바와 같이 모든 것을 완료하는 동안 나는 완전히 페이스 북 개발자의 설명서를 따라 :facebook app authorizing : 오류가 발생했습니다. 다시 시도 나중에

오류가 발생했습니다. 나중에 다시 시도 해주십시오.

<?php 
    $app_id = '1603369454518730'; 
    $app_secret = '511b194f6sdgg6eca7cc748d7be6d82d'; 
    //$canvas_page = "http://apps.facebook.com/myapp"; 
    $canvas_page = "http://myappweb.com/app/landhere.php"; 
    $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri= " . urlencode($canvas_page); 

    //Requesting Signed Parameter: 
    $signed_request = $_REQUEST["signed_request"]; 
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

    //User Info. Variables: 
    try { 
     $userId = $data["user_id"]; 

    } catch(Exception $e) { 
     echo $e -> getMessage(); 
     echo "<br>"; 
    } 

    if (!empty($data["user_id"])) { 
     if ($data['page']['liked']) { 
      echo "hello"; 
     } else { 
      echo "like page"; 
     } 
    } else { 
     echo("<script> top.location.href='" . $auth_url . "'</script>"); 
    } 
    ?> 

은 필자 나는 그런 이 샌드 박스을 사용하지 않도록 설정, 앱 ID를 비밀 및 응용 프로그램을 확인으로 다른 스레드에서 발견 제안을 시도했다. 그러나 이것의 어느 것도 나를 위해 아직 일하지 않았다. 친절하게 도와주세요.

감사합니다.

답변

0

나는 코딩을 너무 많이하고 있지는 않지만 다소 분류했다. 캔버스 페이지는 앱 URL이 아닌 페이지의 URL이어야합니다. 또한 다음 코드를 사용하여 시도하고 작동합니다. 내가 잘못 본게 아니라면

<?php 

    $app_id = "APP_ID"; 

    $canvas_page = "CANVAS_PAGE"; 

    $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
      . $app_id . "&redirect_uri=" . urlencode($canvas_page); 

    $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 { 
      echo ("Welcome User: " . $data["user_id"]); 
    } 
?> 
+0

답장을 보내 주셔서 감사합니다. 제안한대로 코드를 업데이트했지만 문제가 계속 발생합니다. 어떤 제안? – Maven

0

은 (는 PHP SDK와 내 상호 작용이 최소화), 당신은 당신이해야 할 것 acomplish하기 위해 인증이 완료되면 FB는, 반환되는 리디렉션 URL을 추가 할 필요가 두 단계 :

1) $ auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $ app_id. "& redirect_uri =" urlencode ($ canvas_page); you'r 응용 프로그램의 페이지에서

2) : https://developers.facebook.com/apps/app_id 보도 편집 및 선택 웹 사이트 "앱이 페이스 북과 통합 방법을 선택"입니다.

URL에 넣으면 http://apps.facebook.com/myapp입니다.

행운을 빌어 요.

+0

'$ canvas_page/redirect_uri'가 무엇일까? facebook을 통해 내 앱의 주소 (예 : _http : //apps.facebook.com/myapp_) 또는 위 코드가 포함 된 내 웹 페이지 _http : //myappweb.com/app/landhere.php_ – Maven

관련 문제