2012-11-08 3 views
1
<?php 
require_once"includes/strings.php"; 
require_once"php/function.php"; 
require_once"php/config.php"; 
require_once"php/app.php"; 

$currentFBuserid = "0"; 

///////FACEBOOK GET USER INFORMATION 
session_start(); 
// Enter the app id and secret below 
define('YOUR_APP_ID', '$fbAppID'); 
define('YOUR_APP_SECRET', '$fbAppSecret'); 

require_once"php/fbsdk/src/facebook.php"; 

$facebook = new Facebook(array(
    'appId' => $fbAppID, 
    'secret' => $fbAppSecret, 
)); 

$userId = $facebook->getUser(); 
if($userId){ 
    $userInfo = $facebook->api('/' + $userId); 
      } 

Bon la question est simple toutes les deux heures, je suppose que la session expire sur mon site et l'erreur « Erreur fatale: Uncaught OAuthException: Erreur de validation de jeton d'accès: session a expiré au moment unix 1352329200.Facebook Fatal Session d'erreur a expiré

Le temps unix courant est 1352330589. jeté dans /home/######/public_html/php/fbsdk/src/base_facebook.php en ligne 1238"

Je suis un ayant impossible le temps de trouver ce que le problème est, peu importe combien de temps je gratte ce site.

BTW: (rafraîchir la page permet de résoudre le problème)

je vraiment besoin d'aide. Merci!

Répondre

0

Okay the issue is simple about every two hours I guess the session expires on my site and the error "Fatal error: Uncaught OAuthException: Error validating access token: Session has expired at unix time 1352329200.

Les jetons d'accès utilisateur acquis en utilisant le flux côté client expirent après deux heures.

Vous pouvez les étendre ou utiliser le flux côté serveur. Les deux généreront un jeton valide pendant 60 jours.

https://developers.facebook.com/roadmap/offline-access-removal/

(La dernière version du SDK PHP a une méthode appelée setExtendedAccessToken pour l'extension d'un jeton de courte durée.)

BTW:(refreshing the page solves the issue)

Si vous utilisez le SDK JS pour faire la connexion, puis un rafraîchissement bien sûr le fait faire une nouvelle demande inter-domaine à Facebook, et obtiendra un nouveau jeton d'accès de courte durée.

+0

Parfait! Êtes-vous en train de dire que je ne peux pas utiliser à la fois le SDK JS et le SDK PHP en même temps si je veux un long live token? De toute façon, je vais essayer de vous dire si ça a marché –

+0

Non, vous pouvez bien sûr les utiliser ensemble - mais si vous acquérez le jeton d'accès côté client (en utilisant le SDK JS), ce sera de courte durée, et vous avez pour l'échanger côté serveur pour une longue durée de vie si vous en avez besoin. – CBroe

+0

Merci beaucoup de vous préparer pour une grosse coche ole: P –