2010-06-08 4 views
1

Je suis en train de développer une application de canevas facebook en php et FBML, et j'ai des problèmes quand il s'agit de configurer l'autorisation pour l'application. Je ne connais fondamentalement pas comment s'y prendre, ou quelle est la meilleure méthode. J'ai fait des recherches sur Internet la plupart du temps, mais je suis soit en train de fouiller dans les vieilles choses de l'API, soit je ne sais pas comment implémenter ce qu'ils expliquent.Application de canevas Facebook - php Problèmes d'authentification

Voici ce que j'ai:

$facebook = new Facebook(array(
    'appId' => '*snip*', 
    'secret' => '*snip*', 
    'cookie' => true,)); 

$session = $facebook->getSession(); 

$fbme = null; 
if ($session) { 
    try { 
    $uid = $facebook->getUser(); 
    $fbme = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
     d($e); 
    } 
} 

if (!$fbme) { 
    $loginUrl = $facebook->getLoginUrl(array(
       'canvas' => 1, 
       'fbconnect' => 0, 
     'req_perms' => "publish_stream,user_birthday,friends_birthday,user_events,user_hometown,friends_hometown,user_location,friends_location,offline_access," 
      ));; 
} 

if (isset($loginUrl)) { 
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 
    exit; 
} 

Mais cela ne fait rien, et si j'essaie de changer avec les en-têtes au lieu d'utiliser le bloc de script, je reçois:

L'URL ... n'est pas valide

Est-ce que je vais tout à fait faux?

Merci d'avance pour toute aide.

Andy

+0

Veuillez entrer le message d'erreur complet. Existe-t-il une ligne, par exemple, qui vous permet de voir où se trouve votre erreur? –

Répondre

1

Mon commun comprennent les éléments suivants sont pour l'authentification:

$facebook = new Facebook(array(
    'appId' => $ini['appid'], 
    'secret' => $ini['appsecret'], 
    'cookie' => true, 
)); 

$session = $facebook->getSession(); 
$fbme = null; 
if ($session) { 
    try { 
     $fbme = $facebook->api('/me'); 
    } 
    catch (FacebookApiException $e) { 
     error_log($e); 
    } 
} 

// new login check 
if (!$fbme) { 
    $loginUrl = $facebook->getLoginUrl(array(
     'canvas' => 1, 
     'fbconnect' => 0, 
     'req_perms' => 'email', 
     'next' => FB_APP_URL, 
     'cancel_url' => FB_APP_URL, 
    )); 
    echo '<fb:redirect url="' . $loginUrl . '" />'; 
} 

Cela montre essentiellement un message demandant à l'aide de l'ajouter l'application ou laisser; S'ils sont déjà authentifiés, alors continue avec ce qui est au-delà du bloc if (!$fbme).

+0

Hey martin, je reçois une exception dans $ fbme = $ facebook-> api ('/ me'); J'utilise le dernier php-sdk. – RubyDubee

+0

Quelle est l'exception que vous obtenez? –

Questions connexes