• 1
moisesh18

Refresh token siempre es el mismo.

Question

Hola. Estoy usando la API oficial de MELI en Ruby.

Uso SINATRA para el manejador de urls. Tengo un CRON JOB que ejecuta esta función:

image.thumb.png.006da5e446b971447246b1c33a653ee8.png

Como podrán ver, ejecuto la función de Meli. La funcion get_refresh_token actualiza el access y el refresh de la variable global $meli.

Este es el código de la función:

image.thumb.png.6f6c09189cf0c3ea11ff41d1d03a9362.png

El problema está en que se actualiza mi access token pero mi refresh token queda igual. En consola, imprimo mis valores antes y después de la llamada a la función.

En la primera linea están los datos antes de ejecutar la función.

En la segunda linea edité el código de la gema de ruby para imprimir lo que mercadolibre me entrega. 

Token actual APP_USR-1550050702916805-052812-48dcf3fba0c98f68cad1b364d9337884-198587365 y refresh actual: TG-5b0c25bbe4b0e4cd10e5d05e-198587365
{"access_token"=>"APP_USR-1550050702916805-052812-b18589549eaf55ede7ac728827e73a67-198587365", "token_type"=>"bearer", "expires_in"=>21600, "scope"=>"offline_access read write", "user_id"=>198587365, "refresh_token"=>"TG-5b0c25bbe4b0e4cd10e5d05e-198587365"}

Como pueden notar, los access token cambian, pero los refresh siguen igual. Eso es un problema porque unas cuantas veces más que se ejecute mi cron job me dirá "Net::HTTPServerException - 401 Unauthorized".

Alguna ayuda?

Edited by moisesh18

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

No estoy segura si estoy teniendo exactamente el mismo problema, pero podría ser. En los últimos días (desde el jueves aprox) dos tokens que refresco cada 5' me empezaron a tirar el error de refresh token may be expired or has been already used. Estoy empezando a sospechar que es problema de la API.

Share this post


Link to post
Share on other sites
  • 0

Hola shina, te comento que ayer estuve intentando de todo, y al final me rendí. Lo unico que se me ocurrió fue cambiar mi CRON JOB de cada 5 horas, a cada 2 horas (como leí por aquí), y en la cuenta de mercadolibre, en la pestaña seguridad, revoqué los permisos de mi app. Me volví a loguear, esperando que todo funcione y hasta ahora no se ha caido... eso si, con el mismo token. Es raro porque ellos juran y perjuran que en cada llamada te llegará un token nuevo, pero bueno...

Share this post


Link to post
Share on other sites
  • 0

Gracias por la info! Igual te comento que estuve leyendo, y en realidad el refresh_token siempre es el mismo, así funciona. Antes de escribite pensé que el refresh token se cambiaba a la par del access token, pero no. Mi problema creo que viene por el lado de un cliente que cambió la contraseña (por lo que leí eso invalida el access_token).

Share this post


Link to post
Share on other sites
  • 0

Oh ya entiendo! Perfecto, gracias por el tip, no había pensado eso. Le comentaré al cliente que cuando cambie la contraseña me confirme. 

Gracias, y si te puedo ayudar en algo me dices! 

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