• 0
BORIS GUEVARA

Obtener el código de autorización vía curl

Question

Buenas Tardes, estoy desarrollando un cron que se va ejecutar cada 4 horas, para obtener los datos de todos los items de un cliente y actualizarlos en una aplicación propia desarrollada en Symfony, mi problema es que tengo que obtener un código de autorización para luego obtener un token, todo esto desde el cron, ya desarrolle la funcionalidad pero con el protocolo auth me solicita que el usuario coloque su usuario y contraseña para acceder a los recursos privados y para un cron que se ejecuta automáticamente esto no funciona,   Como puedo obtener el código de autorización con un curl si que el usuario coloque su usuario y contraseña. El url con el que tengo que obtenerlo lo muestro abajo, en donde cliente_id es mi  aplicacion_id creada en mercado libre con los permisos y url de redireccionamiento.

https://auth.mercadolibre.com.ve/authorization?response_type=code&client_id=121445478787877

Esta url solicita el usuario y clave y me devuelve el código de autorización, pero no quiero colocar usuario y clave

 

Esto fue lo que programe, pero no me devuelve el codigo

           $xurl ="https://auth.mercadolibre.com.ve/authorization?response_type=code&client_id=XXXXXXXXXXXXXX";
            $ch = curl_init();
            $headers = array(
            "Accept" => "application/json", 
            "Content-Type" => "application/x-www-form-urlencoded"
            );

            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  // Añadida
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  // Añadida
            curl_setopt($ch, CURLOPT_URL, $xurl);
            curl_setopt($ch, CURLOPT_USERPWD, 'boris.guevara@gmail.com' . ':XXXXXXX');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            $result1 = curl_exec($ch);
           $info = curl_getinfo($ch);
            var_dump($info);

Salida.

 array(26) { ["url"]=> string(211) "https://www.mercadolibre.com/jms/mlv/lgz/login/index?go=https%3A%2F%2Fauth.mercadolibre.com.ve%2Fauthorization%3Fresponse_type%3Dcode%26client_id%XXXXXXXXXXX&platform_id=ml&application_id=XXXXXXXXXXXXX" ["content_type"]=> string(24) "text/html; charset=utf-8" ["http_code"]=> int(200) ["header_size"]=> int(1968) ["request_size"]=> int(430) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(1) ["total_time"]=> float(2.950273) ["namelookup_time"]=> float(0.124538) ["connect_time"]=> float(0.204789) ["pretransfer_time"]=> float(0.439846) ["size_upload"]=> float(0) ["size_download"]=> float(137938) ["speed_download"]=> float(46754) ["speed_upload"]=> float(0) ["download_content_length"]=> float(137938) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0.654948) ["redirect_time"]=> float(2.124935) ["redirect_url"]=> string(0) "" ["primary_ip"]=> string(12) "54.230.204.8" ["certinfo"]=> array(0) { } ["primary_port"]=> int(443) ["local_ip"]=> string(13) "192.168.2.104" ["local_port"]=> int(42253) }

Result1 NULL

 

Si alguien puede orientarme, muchas gracias.

 

 

 

 

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Gracias por responder, si yo lei la documentación y mi aplicación tiene marcado el permiso fuera de línea, sin embargo para obtener el código de autorización tengo que autenticarme, eso es lo que deseo hacer automáticamente, ya sé que al obtener el código de autorización puedo obtener  el token  y el refresh token, guardarlo y puedo renovarlo desde el cron, pero quisiera  obtener también el código de autorización sin loguearme. Esto es posible?

 

Share this post


Link to post
Share on other sites
  • 0
On 6/12/2018 at 2:24 PM, BORIS GUEVARA said:

Gracias por responder, si yo lei la documentación y mi aplicación tiene marcado el permiso fuera de línea, sin embargo para obtener el código de autorización tengo que autenticarme, eso es lo que deseo hacer automáticamente, ya sé que al obtener el código de autorización puedo obtener  el token  y el refresh token, guardarlo y puedo renovarlo desde el cron, pero quisiera  obtener también el código de autorización sin loguearme. Esto es posible?

  

Hola! para trabajar con el scope de offline acces debés al menos una vez hacer el flujo de ServerSide, luego con eso configuras el access_token y refresh_token como se explica en http://developers.mercadolibre.com/es/server-side/  y te recomiendo que veas el webinar de heroku usando php  

Saludos!

 

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