2012-01-10 1 views
0

내가 개발 단계에서 페이스 북 PHP SDK APP을 가지고 내가 뭔가에 붙어에게 보여줍니다 (app on this) // 매우 잘 작동합니다. 그 이후에는 사용 권한이 허용되면 사용 권한 요청이옵니다. app_data 변수가 통과되고 사용자가 그림을 수신합니다.APP는 APP의 논리는 이것이다 ... 빈 페이지

권한이 다시 부여 된 후 사용자가 앱을 클릭하면 자동으로 새로운 사진을 가져 오기 때문에 app_data 변수가 필요합니다. app_data와 함께하지 마십시오.

내 문제는이 링크이다. 내가 그것을 클릭하면 앱이 빈 페이지, 아무것도 일이 ... 직접 호출에 :( 을 보여줍니다

$params = array(
    scope => 'publish_stream,user_photos', 
    redirect_uri => 'http://www.facebook.com/XXXXX?sk=app_YYYYYY&app_data=1' 
    ); 

<a href="<?php echo $facebook->getLoginUrl($params); ?>">Accept</a> 

, 그 응용 프로그램이 오류없이 실행

는 누군가가 밖으로 좀 도와 줄래?

// 미안 내 영어 ...

감사합니다!

은 전체의 index.php이다 : 나는 페이스 북의 애플 리케이션의 세계로 탐구 할 때 전에 했어

<?php 
require 'facebook.php'; 

$facebook = new Facebook(array(
'appId' => 'xxxxx', 
'secret' => 'yyyyy', 
'baseUrl' => 'http://hosting.address/', 
'appBaseUrl' => 'http://apps.facebook.com/app-name/', 
'fileUpload' => 'true', 
)); 
// Get User ID 
$user = $facebook->getUser(); 

$params = array(
    scope => 'publish_stream,user_photos', 
    redirect_uri => 'http://www.facebook.com/xxxxx?sk=app_yyyyy&app_data=1' 
    ); 

$signed_request = $facebook->getSignedRequest(); 
$app_data = $signed_request["app_data"]; 


?> 
        <!doctype html> 
        <html xmlns:fb="http://www.facebook.com/2008/fbml"> 
        <head> 
        <title>the title</title> 
        <style> 
         a:link {color:#ffffff;} 
         a:visited {color:#ffffff;} 
         a:hover {color:#ececec;} 
         a:active {color:#1f1f1f;} 
         a:link {text-decoration: none} 
        </style> 
        </head> 
        <body> 
<?php if ($user){ 

    try { 
     $user_profile = $facebook->api('/me'); 
     $likes = $facebook->api("/me/likes/123123123"); //page ID 

      if(!empty($likes['data'])){ 

       $scope = 'publish_stream,user_photos'; 
       $scope_params = explode(',',$scope); 

       $permissions = $facebook->api("/me/permissions"); 
        if(array_key_exists('publish_stream', $permissions['data'][0]) && array_key_exists('user_photos', $permissions['data'][0]) && isset($app_data)) { 


         $file = "1.jpg"; 
         $message = 'bla bla'; 

         $ret_obj = $facebook->api('/me/photos', 'POST', array(
                     'source' => '@' . $file, 
                     'message' => $message, 
                    ) 
                   ); 
         echo "<img width=\"520px\" src=\"1.jpg\" />"; 
        } else { 
        ?> 
<a href="<?php echo $facebook->getLoginUrl($params); ?>">accept</a></td> 
<a href="http://www.facebook.com/pageurl">deny</a></td> 

        <? 
        } 
      }else{ 
       echo "<img width=\"520px\" src=\"no-fan.jpg\" />"; 
      } 

    } catch (FacebookApiException $e) { 
     echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>'; 
     $user = null; 
     } 
    } 

    if ($user) { 
     } else { 
      $loginUrl = $facebook->getLoginUrl($params); 
      echo '<script type="text/javascript">top.location.href = "'.$loginUrl .'";</script>'; 
     } 

     ?> 

</body> 
</html> 
+0

우리는 당신에게 ca를 어떻게 왜 ** 우리의 코드 힌트를 보여주는없이 ** 페이지 폭발? – Christian

+0

편집 : 전체 index.php 코드 삽입 – VORiAND

답변

0

:

이 전체의 index.php이다.

내가 결국 한 것은 내 것이 었습니다. redirect_uri 내 도메인에 페이지를 사용했습니다. https://domain.com/facebook/redirect.php 및 redirect.php에 내가 가진 것 :

// user didn't give app permissions 
if (isset($_GET['error_reason'])) 
{ 
    header('Location: http://www.facebook.com/FANPAGE') ; 
} 
else 
{ 
    header('Location: http://www.facebook.com/XXXXX?sk=app_YYYYYY') ; 
}