Warum speichert PHP bei Verwendung der Instagram -PHP -API keine Sitzungen?
Frage
Ich versuche, eine Instagram -App mit der PHP -Bibliothek zu erstellen, die hier ist (es ist keine sehr lange Datei, keine Sorge):
Ich versuche, den Benutzer mit OAuth zu autorisieren, was perfekt funktioniert, und der autorisierte (aktuelle Benutzer) kann seine Informationen (wie Bild, Name usw. usw.) sehen, aber wenn ich die Seite aktualisiere, geht alles und ich ' m links mit leeren Daten, hier ist der 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);
Dieser Code funktioniert beim ersten Mal gut die Information,
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
Bitte können Sie etwas Licht in dieses Problem werfen, ich habe 4 Stunden lang versucht !!
Lösung
Auf jeder Ihrer Anfrage überschreiben Sie die aktuellen Sitzungsdaten mit nichts in dieser Zeile:
$_SESSION['InstagramAccessToken'] = $accessToken;
Höchstwahrscheinlich sollte es so aussehen:
$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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow