Bonjour,

J'ai suivi le tuto sur Facebook Connect. Le seul truc c'est que quand je tappe le code et tout, ca me donne (dans la page localhost) :

'MON-APP-ID-QUE-JAI-ENTRE', 'secret' => 'MON-APP-SECRET-QUE-JAI-ENTRE', 'cookie' => true )); // get a session for user $session = $facebook->getSession(); // if have session get user data if(empty($session)){ header('location'.$facebook->getLoginUrl(array( 'req_perms' => 'email,user_birthday,id' 'locale' => 'fr_FR' ))); { try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); } catch(FacebookApiException $e) { error_log($e); } } // if we have user data show logout button, else show login button with extended permission to get his email addy $data = ''; if ($me) { // store user data here!!! print_r($me); $logoutUrl = $facebook->getLogoutUrl(); $data = ''; } else { $loginUrl = $facebook->getLoginUrl(array('req_perms' => 'email,read_stream')); $data = ''; } // for javascript side use the same session $fb_session = json_encode($session); } ?>

Savez-vous quel est le problème ?

Merci d'avance,
Chris.

6 réponses


Aurais-tu plus de détail sur l'erreur que tu as ?
Est-ce que tu pourrais nous fournir plus de code ?

Code php:

<?
/* 
    For this to work you will have to download the Facebook PHP SDK
    https://github.com/facebook/php-sdk/
*/
  require_once("facebook.php");
/*
    Set these variables to application's ones
*/
$app_id = 'app_id';
$app_secret = 'app_secret';
// init fb object
$facebook = new Facebook(array(
    'appId' => 'id',
    'secret'    => 'secret',
    'cookie'    => true
));
// get a session for user
$session = $facebook->getSession();
// if have session get user data
if(empty($session)){
    header('location'.$facebook->getLoginUrl(array(
        'req_perms' => 'email,user_birthday,id'
        'locale' => 'fr_FR'
    )));
{
    try
    {
        $uid = $facebook->getUser();
        $me = $facebook->api('/me');
    }
    catch(FacebookApiException $e)
    {
        error_log($e);
    }

}
// if we have user data show logout button, else show login button with extended permission to get his email addy
$data = '';
if ($me)
{
    // store user data here!!!
    print_r($me);
    $logoutUrl = $facebook->getLogoutUrl();
    $data = '<a href="'.$logoutUrl.'"><img src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/cxrz4k7j.gif"></a>';
}
else
{
    $loginUrl = $facebook->getLoginUrl(array('req_perms' => 'email,read_stream'));
    $data = '<a href="'.$loginUrl.'"><img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"></a>';
}
// for javascript side use the same session
$fb_session = json_encode($session);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login with Facebook!</title>
</head>
<body>
    <p>Hello!</p>
    <div id="fb-root"></div>
    <script type="text/javascript" src="http://connect.facebook.net/fr_FR/all.js"></script>
    <script type="text/javascript">
    //<![CDATA[
    FB.init({
        appId: '<?='id';?>', 
        cookie: true, 
        status: true, 
        xfbml: true, 
        session: <?=$fb_session;?>
    });
    FB.Event.subscribe('auth.login', function(){
        window.location.reload();
    });
    //]]>
    </script>
</body>
</html>

Ce qui apparait dans le navigateur:

'294504120659431', 'secret' => 'deec368071d842c86a8399226fbd0b14', 'cookie' => true )); // get a session for user $session = $facebook->getSession(); // if have session get user data if(empty($session)){ header('location'.$facebook->getLoginUrl(array( 'req_perms' => 'email,user_birthday,id' 'locale' => 'fr_FR' ))); { try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); } catch(FacebookApiException $e) { error_log($e); } } // if we have user data show logout button, else show login button with extended permission to get his email addy $data = ''; if ($me) { // store user data here!!! print_r($me); $logoutUrl = $facebook->getLogoutUrl(); $data = ''; } else { $loginUrl = $facebook->getLoginUrl(array('req_perms' => 'email,read_stream')); $data = ''; } // for javascript side use the same session $fb_session = json_encode($session); } ?>
Hello!

A tu fait attention a ta version d'API ? Si je me souviens bien la dernière version d'API Facebook :

$session = $facebook->getSession();

est Déprécated
Remplacer par

$userId = $facebook->getUser();

Je regarde et je te redis !

Merci pour ta réponse,
Chris.

Juste, c'est seulement cette phrase qui change ou c'est toutes les fonctions du document ? tous les $session, tous les getSession ?

Merci,
Chris.

Regarde bien la doc de facebook (pour ma par je trouve qu'elle parle d'elle même).

Après je n'utilise que très peut se système ...
Va voir la doc ici