Pourquoi ne pas enregistrer les sessions PHP en utilisant l'API PHP instagram?
Question
Je suis en train de créer une application instagram en utilisant la bibliothèque php qui est ici (le fichier pas très longtemps, ne vous inquiétez pas):
Je suis en train d'autoriser l'utilisateur en utilisant OAuth, qui fonctionne parfaitement, et autorisé (utilisateur actuel) peut voir ses informations (comme l'image, le nom, etc ...), mais quand je rafraîchir la page tout va et je suis parti avec des données vierges, Heres le code -
// Instantiate the API handler object
$instagram = new Instagram($config);
$accessToken = $instagram->getAccessToken();
$_SESSION['InstagramAccessToken'] = $accessToken;
$instagram->setAccessToken($_SESSION['InstagramAccessToken']);
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
// After getting the response, let's iterate the payload
$ures = json_decode($userinfo, true);
ce code fonctionne très bien la première fois-ci, mais quand vous actualisez la page, les informations ne sont pas en cours de récupération, et que seul moyen une chose pouvait, que la session ou le cookie n'est pas réglé correctement et c'est pourquoi la méthode getUser ne récupère pas les informations,
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
S'il vous plaît pouvez-vous faire la lumière sur ce problème, je l'ai essayé pendant 4 heures !!
La solution
Sur chaque votre demande vous écrasez données de session avec rien par cette ligne:
$_SESSION['InstagramAccessToken'] = $accessToken;
La plupart il est probable que la façon dont il devrait ressembler à:
$instagram = new Instagram($config);
if (!empty($_SESSION['InstagramAccessToken'])) {
$accessToken = $instagram->getAccessToken();
$_SESSION['InstagramAccessToken'] = $accessToken;
} else {
$instagram->setAccessToken($_SESSION['InstagramAccessToken']);
}
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
// After getting the response, let's iterate the payload
$ures = json_decode($userinfo, true);