• 0
quatrero

Problema autenticación, ML cambió algo?

Question

Buenas tardes, hace unos días que vengo con un problema al que no le encuentro la vuelta.

Mi app autenticaba sin ningún problema,y desde hace unos días, me pide loguerame con ML, lo hago me da el token y cuando quiero hacer cualqueir cosa, me vuelve a pedir que me loguee, me vuelve a dar el token y asi ad infinitum. COmo digo, no hice nongún cambio y esto empezó de repente hace unod días.

 

Un script de ejemplo

 

require '../ml/includes/Meli/meli.php';
require '../ml/includes/configApp.php';

$meli = new Meli($appId, $secretKey);

if($_GET['code'] || $_SESSION['access_token']) {

	// If code exist and session is empty
	if($_GET['code'] && !($_SESSION['access_token'])) {
		// If the code was in get parameter we authorize
		$user = $meli->authorize($_GET['code'], $redirectURI);
		
		// Now we create the sessions with the authenticated user
		$_SESSION['access_token'] = $user['body']->access_token;
		$_SESSION['expires_in'] = time() + $user['body']->expires_in;
		$_SESSION['refresh_token'] = $user['body']->refresh_token;
	} else {
		// We can check if the access token in invalid checking the time
		if($_SESSION['expires_in'] < time()) {
			try {
				// Make the refresh proccess
				$refresh = $meli->refreshAccessToken();

				// Now we create the sessions with the new parameters
				$_SESSION['access_token'] = $refresh['body']->access_token;
				$_SESSION['expires_in'] = time() + $refresh['body']->expires_in;
				$_SESSION['refresh_token'] = $refresh['body']->refresh_token;
			} catch (Exception $e) {
			  	echo "Exception: ",  $e->getMessage(), "\n";
			}
		}
	}

	
	
	$item = array("title" => "Item de test - No Ofertar - ".$titulo."", "category_id" => "".$categoria."", "price" => "".$precio."", "currency_id" => "".$moneda."", "available_quantity" => 1, "buying_mode" => "buy_it_now", "listing_type_id" => "".$tipo."", "condition" => "".$estado."", "description" => array("plain_text"=> "Item de test - No Ofertar - ".$descripcion."" ), "shipping" => array("mode"=> "".$modo."","".$metodo."", "local_pick_up" => "".$retiro.""));

	  
				  

    // We call the post request to list a item
    echo '<pre>';
   $result = $meli->post('/items', $item, array('access_token' => $_SESSION['access_token']));
    $result = $result['body'];
print_r($result);

} else {
	echo '<a href="' . $meli->getAuthUrl($redirectURI, Meli::$AUTH_URL[$siteId]) . '">Logueate con tu usuario de Mercado Libre</a>';
	

   

Esto me devuelve:

Array
(
    [access_token] => APP_USR-1745687250688531-030420-917f56956a53c76fc42c5e80134d5a09__N_K__-303979297
    [expires_in] => 1520230395
    [refresh_token] => TG-5b215b4fe4b0ffd726f371a8-303964636

)

 

Es decir, está funcionando, pero al hacerlo la segunda vez, lo que me debiera permitir hacer la publicación, me vuelve a pedir que me loguee, vuelve a darme el token y no consigo pasar de eso, y esto me pasa ya sea que quiera hacer un get o un post o un put.

 

Lo probe con usuarios test, con mi propio usuario de ML, en diferentes conexiones y computadoras e incluso desde 2 paises y no hay caso.

 

Alguna idea?

 

Edited by quatrero

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now