• 0
Sign in to follow this  
kmiccio

REFRESH TOKEN CON CURL

Question

Hola he leido la documentación y no entiendo porque no pasa este comando para poder refrescar el token. Favor si me pueden ayudar.

$body = array(
	"grant_type" => "refresh_token", 
	"client_id" => $ml_id, // esto lo saco de la base de datos.
	"client_secret" => $ml_key, // esto lo saco de la base de datos.
	"refresh_token" => $ml_refresh_token // esto lo saco de la base de datos, lo guardo cuando obtengo el access token.
);
$headers = array(
	"Accept" => "application/json", 
	"Content-Type" => "application/x-www-form-urlencoded"
);

$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, 'https://api.mercadolibre.com/oauth/token');
curl_setopt($tuCurl, CURLOPT_TIMEOUT , 60); 
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($tuCurl, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($tuCurl, CURLOPT_USERAGENT, "MELI-PHP-SDK-1.1.0");
curl_setopt($tuCurl, CURLOPT_POST, true);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $body);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, $headers);
$tuData = curl_exec($tuCurl); 
echo $tuData;

Respuesta:

{"message":"User has no valid scopes for application","error":"unauthorized","status":401,"cause":[]}

1) En https://applications.mercadolibre.cl/list?platform=ml -> Mi aplicación tiene los Scopes: write, read, offline_access

2) La cuenta que autorizo la aplicación es el master

3) En Seguridad / Permisos / https://myml-applications.mercadolibre.cl/list -> Tengo

  • Administrar tus compras y ventas
  • Acceder a tu información básica

4) Intente tambien directamente con el SDK y es lo mismo.

No se que esta mal ? 

Gracias de antemano toda la ayuda.

 

Edited by kmiccio

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hola. 

Tal vez ya lo sabias, pero existe le SDK de PHP y solamente tienes que ejecutar lo siguiente para obtener un token nuevo:

$ml_session = new Meli($appId, $secretKey, $token, $r_token);
  $refresh_tokn = $ml_session->refreshAccessToken();
  $new_token = $refresh_tokn['body']->access_token;
  $new_refresh_token = $refresh_tokn['body']->refresh_token;

Ten un excelente dia!

Share this post


Link to post
Share on other sites

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
Sign in to follow this