2012-02-22 11 views
0

Php-sdkの例のこのコードを使用しています。認証後にユーザーをキャンバスページにリダイレクトする方法は不明ですが、現在はphpページに戻しています。キャンバスページへの承認後にリダイレクトする方法

<?php 
require 'src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'AppId', 
    'secret' => 'Secret', 
)); 

// See if there is a user from a cookie 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>'; 
    $user = null; 
    } 
} 

?> 

<!DOCTYPE html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <body> 
    <?php if ($user) { 
    echo " authorized"; 
    ?> 
     Your user profile is 
     <pre> 
     <?php print htmlspecialchars(print_r($user_profile, true)); ?> 
     </pre> 
    <?php } else { echo "Not Authorized"; ?> 
     <fb:login-button></fb:login-button> 
    <?php } ?> 
    <div id="fb-root"></div> 
    <script> 
     window.fbAsyncInit = function() { 
     FB.init({ 
      appId: '<?php echo $facebook->getAppID() ?>', 
      cookie: true, 
      xfbml: true, 
      oauth: true 
     }); 
     FB.Event.subscribe('auth.login', function(response) { 
      window.location.reload(); 
     }); 
     FB.Event.subscribe('auth.logout', function(response) { 
      window.location.reload(); 
     }); 
     }; 
     (function() { 
     var e = document.createElement('script'); e.async = true; 
     e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('fb-root').appendChild(e); 
     }()); 
    </script> 
    </body> 
    </html> 

要するに、リダイレクトURLを設定するにはどうすればよいですか?コメントの中で言及moguzalpとして

+0

はい、最初のリンクは私のために行いました。唯一のものは、答えにが最後に必要です。 – pal4life

+0

リンクを参照したり、コードや回答を追加したり、他に何かできることがあれば、気軽にお問い合わせください。再度、感謝します。ええとその最初のものではない私のためにそれをした2番目のリンク。私はあなたが他の同様のfb質問に答えたことを見ました。 – pal4life

答えて

0

、コードのこのビットは私

<script type='text/javascript'> 
if (window.top.location == window.location) 
window.top.location = 'https://apps.facebook.com/myapp'; 
</script> 

のためにそれをやった私はちょうど

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } 
1

の下にこれを追加しますが、アクセス権を求めている場所を確認することはできませんが、インストール後に同じアプリにユーザーをリダイレクトするには次のコードを使用します。

$loginUrl = $facebook->getLoginUrl(
      array(
       'scope'   => 'user_about_me', 
       'redirect_uri' => 'FACEBOOKS_FULL_APP_URL' 
      ) 
    ); 
関連する問題