Pregunta

Estoy tratando de crear una aplicación de Instagram usando la biblioteca PHP que está aquí (no es un archivo muy largo, no se preocupe):

http://pastie.org/3391787

Estoy tratando de autorizar al usuario usando OAuth, que funciona perfectamente, y el autorizado (usuario actual) puede ver su información (como imagen, nombre, etc.), pero cuando actualizo la página, todo va y yo '' me queda con datos en blanco, aquí está el código -

// 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);

Este código funciona bien la primera vez, pero cuando actualiza la página, la información no se está recuperando, y eso solo podría significar una cosa, que la sesión o la cookie no se configuran correctamente y por eso el método GetUser no está recuperando la información,

$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);

Por favor, ¿puedes arrojar algo de luz sobre este problema? ¡He estado intentando durante 4 horas?

¿Fue útil?

Solución

En cada uno de sus solicitudes, sobrescribe los datos de sesión actuales con nada de esta línea:

$_SESSION['InstagramAccessToken'] = $accessToken;

Lo más probable es que así sea:

$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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top