2012-10-28 5 views
0

У меня есть следующие проблемы:После Facebook facebook приложения МОНТАЖА перенаправляет меня на URL, но за пределами Facebook

Я пытаюсь сделать мое первое приложение для Facebook и после Facebook подключения и установить приложение автоматически не перенаправляет меня к URL-адресу, но за пределами Facebook. Это происходит только в первый раз, когда он был установлен, если URL-адрес перезаряжается и остается в пределах Facebook.

Любые идеи, чтобы исправить это?

Я не знаю, если проблема является код или приложения конфигурации :(

// PHP SDK v.3.0.0 de Facebook  
require 'includes/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => '*******', 
    'secret' => '*************', 
)); 
$user = $facebook->getUser(); 
if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    $me = $facebook->api('/me'); 

    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array(
       'scope' => 'read_stream,publish_stream,user_about_me,user_likes,email,user_status' 
      )); 
} 
if (!$user) { 
     echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 
     exit; 
    } 
?> 
<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head> 
    <title>php-sdk 3.0.0</title> 
     <style typ="text/css"> 
      html, body { width: 520px;} 
     </style>  
    </head> 
    <body> 
    <h1>php-sdk</h1> 
    <h3>PHP Session</h3> 
     <?php foreach($_SESSION as $key=>$value){ 
      echo '<strong>' . $key . '</strong> => ' . $value . '<br />'; 
     } 
     ?> 
     <h3>Tu</h3> 
     <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> 
     <h3>Tus datos (/me)</h3> 
     <?php foreach($user_profile as $key=>$value){ 
      echo '<strong>' . $key . '</strong> => ' . $value . '<br />'; 
     } 
     ?> 
    </body> 
</html> 

ответ

0

Вы не указали redirect_uri в методе getLoginUrl и, следовательно, SDK построен один для вас, который основан на вашем . текущий URL

так все, что вам нужно сделать, это просто установить холст URL в качестве redirect_uri:

$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'read_stream,publish_stream,user_about_me,user_likes,email,user_status', 
    'redirect_uri' => 'CANVAS_URL' 
)); 

PS: $user_profile и $me имеет такое же значение, просто используйте один из них вместо двух вызовов API Графа.

+0

Спасибо! Если я помещаю эту строку кода, не заканчиваю загрузку и отображение страницы. $ loginUrl = $ facebook-> getLoginUrl (массив ( 'сфера' => 'read_stream, publish_stream, user_about_me, user_likes, электронная почта, user_status', \t \t \t \t 'redirect_uri' => «HTTP: //apps.facebook .com/promocion_orange/' )); Я видел, что проблема только тогда, когда это rediección к "как", то есть, когда область: \t \t если (! $ MeGusta) { \t \t \t \t \t \t // referrerIsFacebookApp(); \t \t \t echo ""; \t \t} Любые предложения? –

+0

Я не понял вашу точку зрения, не могли бы вы обновить свои вопросы с помощью форматированного кода и * надлежащего английского? – ifaour

Смежные вопросы