2010-08-02 10 views
0

J'ai implémenté le code suivant ci-dessous en fonction de la documentation et peut l'obtenir pour se connecter et l'ID utilisateur d'affichage ...Facebook Connect problème API avec jeton d'authentification

<?php 

define('FACEBOOK_APP_ID', '87939462878'); 
define('FACEBOOK_SECRET', '1ab6346bc51329831998985aba200935'); 

function get_facebook_cookie($app_id, $application_secret) { 
    $args = array(); 
    parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); 
    ksort($args); 
    $payload = ''; 
    foreach ($args as $key => $value) { 
    if ($key != 'sig') { 
     $payload .= $key . '=' . $value; 
    } 
    } 
    if (md5($payload . $application_secret) != $args['sig']) { 
    return null; 
    } 
    return $args; 
} 

$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); 

?> 

<?php if ($cookie) { ?> 
     Your user ID is <?= $cookie['uid'] ?> 
    <?php } else { ?> 
     <fb:login-button show-faces="true" perms="email,user_birthday,user_location"></fb:login-button> 
    <?php } ?> 


<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
     FB.init({appId: '<?= FACEBOOK_APP_ID ?>', status: true, 
       cookie: true, xfbml: true}); 
     FB.Event.subscribe('auth.login', function(response) { 
     window.location.reload(); 
     }); 
    </script> 

<?php 
$user = json_decode(file_get_contents(
    'https://graph.facebook.com/me?access_token=' . 
    $cookie['access_token']))->id; 
print_r($user); 
?> 

Cependant, si je l'utilise:

$user = json_decode(file_get_contents(
    'https://graph.facebook.com/me?wrap_access_token=' . 
    $cookie['oauth_access_token']))->me; //or $cookie['access_token']))->me; 
register_user($user->id, $user->email, $user->name, $user->username, 
       $user->birthday_date); 

Pour obtenir l'adresse email, je continue d'obtenir les erreurs file_get_content. J'ai aussi des erreurs disant qu'il ne reconnaît pas la fonction register_user. Je sens que je suis proche !! S'il vous plaît aider si possible, merci!

Répondre

0

Je ne connais pas la bibliothèque que vous utilisez avec register_user, mais y a-t-il une raison quelconque pour laquelle vous n'utilisez pas le Facebook SDK PHP? Vous pouvez le télécharger au http://github.com/facebook/php-sdk et il y a des exemples pour l'obtention du jeton d'autorisation avec des autorisations étendues et pour l'extraction de toutes les informations utilisateur que vous semblez vouloir.

+0

le register_user est dans leur exemple: http://developers.facebook.com/docs/guides/web#login sous la rubrique « compte Enregistrement des données » je vais essayer le php sdk et voir si cela fonctionne mieux , Merci! –