Consulta!

74 views
Skip to first unread message

mariela Roman

unread,
May 20, 2020, 7:26:58 PM5/20/20
to embeb...@googlegroups.com
Buenas tarde! 
Quería hacerles una consulta...estoy arrancando con Api rest y quiero  consumir APIs de MercadoLibre, al momento de generar un Token me pide Redirect URI, no se lo que significa y como se genera? ... si alguien me da una mano se lo agradezco.

Gracias.

Saludos!

Adrian Pardini

unread,
May 20, 2020, 7:30:59 PM5/20/20
to embeb...@googlegroups.com
Buenas Mariela,

estás usando alguna de las librerías que ellos te proveen o todo a mano?
Hace bastante que no trabajo con ML en particular pero en general eso
se refiere a la url a donde redireccionar una vez que el llamado a su
api fue (o no) exitoso. Debería apuntar a alguna ruta en el
sitio/plataforma que estás desarrollando.
> --
> -- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
> ---
> Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
> Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/embebidos32/CAEoOd3gVm1GG11Q%3DRXobF2Fx85Fq%2BGUEBX6%2BuxBQosa4B6sPQg%40mail.gmail.com.



--
Adrián Pardini

mariela Roman

unread,
May 20, 2020, 7:42:46 PM5/20/20
to embeb...@googlegroups.com
Gracias por responder!

Todavía no pude usar nada por que al momento de generar la clave para poder usar la Api me pide el Redirect URI (no se que colocar),  es un proyecto sólo de prueba para saber cómo funcionan las APIs. ..busqué información y no encontré o intérprete mal, en el campo que pide  el redict  a donde tengo q apuntar??


Tomas Zubiri

unread,
May 20, 2020, 8:58:21 PM5/20/20
to embeb...@googlegroups.com
Hola Mariela. Parece que necesitás pedirle información a los servidores de Mercadolibre y que la información que necesitas es de naturaleza sensible o intima. Para enviarte esta información, los servidores que la resguardan necesitan verificar que tengas permiso. A diferencia de la manera clasica de autorizar pedidos a los servidores de MercadoLibre: ingresar por un navegador y utilizar la interfaz HTML, vas a estar usando una interfaz diseñada para ser consumida por programas en vez de humanos, por lo tanto, la autorización tambien será distinta.

La autorización es simplemente el primer paso para comunicar a tu sistema con el de mercadolibre, por lo que puede que lo que te este confundiendo no tenga tanto que ver con la autorización sino con problemas más generales de comunicación de sistemas. Por eso quizás te convenga formular tu pregunta desde tus objetivos en vez de desde el bloque específico con el cual te chocaste.

Dicho eso, es verdad que la autorización es la parte más dificl, en parte porque las exigencias que se le ponen al desarrollador son más altos, ya que se le está brindando una herramienta más poderosa y flexible. Las exigencias de seguridad son una especie de prueba de fuego para corroborar que la persona sea digna de manipular los datos de una forma segura, y de orientarlo hacia practicas de seguridad para proteger vectores comunes. Un ejemplo de esto son las restricciones temporales y de alcance que se asignan a los secretos/llaves, ciertamente esto incrementa la complejidad de la implementación de cualquier integración, pero lo hacen a beneficio de la seguridad de mercadolibre y a costo del desarrollador de tercera parte.

En este caso puntual lo que te está pidiendo es la dirección del servidor que está pidiendo la información. Tradicionalmente, cuando pedís información a servidores como usuario final estás siendo vos el que inicia la conexión a un servidor con una dirección estable. MercadoLibre te está pidiendo la dirección de tu computadora así puede cerrar la conexión que iniciaste vos e iniciar una el mismo. Mercadolibre está verificando que seas dependible, alcanzable, que si hay algún problema puede, como mínimo, mandarle un  mensaje a tu servidor, o bloquear paquetes de tu dirección entrante.

Para resolver este desafio vas a tener que demostrar que podés publicar un servidor a través del protocolo TCP/HTTP, y que podés asegurar la permanencia de su dirección, sea a través de una IP estática o un servidor DNS.

Un par de recomendaciones que te brindaría es que
1) No uses librerías brindadas por mercadolibre. Intentá usar librerías de comunicación HTTP, como Curl en cualquier SO, o requests en python, o xmlhttprequests en javascript, en fín, cada lenguaje tiene un cliente http ya que es cási un de facto de comunicación entre aplicaciones de alto nivel. Mercadolibre te va a intentar facilitar las cosas con su librería, pero no lo va a lograr porque está implementando OAuth, una librería que está diseñada para complicarte la autorización por cuestiones de seguridad. Lo único que va a lograr MercadoLibre al hacerte usar su API es generar una dependencia de MercadoLibre. Al aprender como usar su API o desarrollar un prototipo o sistema de producción, en usar las tecnologías genericas subyacientes, evitan que te pases a uno de sus competidores, o que te vuelvas uno vos misma.
2) Si te cuesta lo de hacer que un servidor sea alcanzable, arrancá con un bot de discord. Discord implementa una modalidad de identificación de OAauth que prescinde de la necesidad de un servidor alcanzable, y también elimina la necesidad de que te identifiques con la interfaz web como si fueras un usuario final. Una vez que logres identificarte y hacer un 'hello world', podés intentar de vuelta con Meli sabiendo que ya dominaste una mitad de las habilidades necesarias.

Buena suerte con tu emprendimiento.

Carlos Pantelides

unread,
May 21, 2020, 3:15:30 PM5/21/20
to Embebidos32
Hola,

Aparte de las otras recomendaciones yo te haría dos:

Pegá acá, tras ofuscar los valores tipo key, name, id, password, lo que sea, el diálogo de tu programa con la API, ya sea lo que te aparece en la terminal o si podés capturar con algún programa o si estás usando poster.

Y la otra para la próxima, que en el asunto pongas algo tipo "Consulta api ml" o algo que nos dé una idea de qué se trata, por favor

Saludos

Bruno Lottero

unread,
May 21, 2020, 4:10:08 PM5/21/20
to embeb...@googlegroups.com
Mariela, te recomiendo que leas un poco de que se trata OAuth2, para que lo estás preguntando, especificamente los diferentes tipos de "grant types" (tipos de concesiones): https://oauth.net/2/grant-types/
Cuando hablamos de autorización en un servicio web, estamos hablando en otras palabras de pedirle al usuario que nos autorize para que actuemos en su nombre. ¿Quién actúa en su nombre? Nuestra aplicación, la cuestión es que hay muchos tipos de aplicaciones, puede ser una web (acá es donde tiene sentido el redirect URI, que es la url a la que va a ir a parar el usuario una vez que autorizó a que tu app actué en su nombre) es como cuando hacés login con Facebook en una página, te lleva a la página de autorización de Facebook y una vez que aceptas, te redirige a la web original, dándote un código para que obtengas un Access Token, este tipo de concesión es "Authorization Code". Pero también puede ser una aplicación sin interfaz de usuario que corre en un servidor, por ejemplo algún script en donde no necesitas/querés pedirle al usuario autorización explícita, y que con su usuario y contraseña puedas actuar en su nombre, acá estamos hablando de "Password Grant", mucho mas sencillo pero mucho menos seguro. Cada API puede soportar las concesiones que sus desarrolladores consideren oportunas, nunca usé la API de ML, pero seguramente no te deje usar "Password Grant", pero si "Authorization Code".

Un saludo.


--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.


--

mariela Roman

unread,
May 21, 2020, 4:11:56 PM5/21/20
to embeb...@googlegroups.com
Tomás Zubiri.

Te agradezco por haberte tomado el tiempo y darme una  detallada y valiosa  respuesta me ayudó mucho.
Estaba necesitando el uso de DNS para poder recibir información de MercadoLibre. Es un proyecto educativo en el cual estamos analizando el funcionamiento de las APIs.

Saludos nuevamente gracias!



Ricardo Malerba

unread,
May 21, 2020, 4:33:38 PM5/21/20
to embeb...@googlegroups.com
Hola, para pruebas y no tener que desarrollar nada bajate esta app que esta bastante buena.


Saludos ! 



--
Ricardo Malerba
Reply all
Reply to author
Forward
0 new messages