sergiolimo

Members
  • Content Count

    11
  • Joined

  • Last visited

  • Days Won

    1

sergiolimo last won the day on November 29 2017

sergiolimo had the most liked content!

About sergiolimo

  • Rank
    Newbie

Recent Profile Visitors

247 profile views
  1. Ahi me dio la id como respuesta, tenia un problema con el path, me confundio el 'image/jpg' pense que era una carpeta y es el mimetype! Gracias!!!!
  2. Gracias Maxiconta por tu ayuda! Una duda, cual seria el path completo del archivo en tu ejemplo? Esta en el disco? (no termino de entender ese paso) Sigo sin poder implementarlo, no se de donde lo estas tomando... por ejemplo con este codigo, no me da ninguna respuesta Seguramente sigo con el problema de los path cuando quiero recibir el archivo desde el form $url = "https://api.mercadolibre.com/messages/attachments?access_token=".$_SESSION['access_token']; $filename = $_FILES['archivo']['name']; $filedata = $_FILES['archivo']['tmp_name']; $args['file'] = new CurlFile($filename, $filedata, $filename); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER,array('Content-Type: multipart/form-data')); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $args); // post images curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload curl_close($curl); $art = curl_exec($curl); print_r($art);
  3. Mmm ahi lo reformé pero me sigue dando el error 400 "message":"File attachment must not be empty","error":"bad_request","status":400,"cause":[] $url = "https://api.mercadolibre.com/messages/attachments?access_token=".$_SESSION['access_token']; $cfile = new CURLFile(realpath('c:/prueba.pdf')); $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data')); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 100); curl_setopt($ch, CURLOPT_POSTFIELDS, array("file" => $cFile)); $art = curl_exec($ch); print_r($art);
  4. Si Leandro por favor! Lo probé como me dijo Juvian pero me devuelve como si no le pasara ningun archivo, es mas o menos el mismo error Si podes poner un ejemplo con el SDK de PHP te estaria eternamente agradecido!
  5. Tambien probe en lugar de ponerle la ruta al disco como me dijeron en soporte, recibir por post el archivo y me da otro error "File attachment must not be empty" de esta forma: (traigo por post en file el archivo) $url = "https://api.mercadolibre.com/messages/attachments?access_token=".$_SESSION['access_token']; $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $filesize = $_FILES['file']['size']; if ($filedata != '') { $headers = array("Content-Type:multipart/form-data"); $path = $_SERVER["DOCUMENT_ROOT"]; $postfields = array("file" => '@'.$path.'/'.$filename); $ch = curl_init(); $options = array( CURLOPT_URL => $url, CURLOPT_HEADER => true, CURLOPT_POST => 1, CURLOPT_HTTPHEADER => $headers, CURLOPT_POSTFIELDS => $postfields, CURLOPT_INFILESIZE => $filesize, CURLOPT_RETURNTRANSFER => true ); curl_setopt_array($ch, $options); $art = curl_exec($ch); if(!curl_errno($ch)) { $info = curl_getinfo($ch); if ($info['http_code'] == 200) $errmsg = "ok"; echo $art; } else { $errmsg = curl_error($ch); } curl_close($ch); } else { $errmsg = "nada"; } }
  6. Probe el ejemplo de la documentacion con un archivo de prueba pero me sigue saliendo el error 400! No se si hago algo mal!! $url = "https://api.mercadolibre.com/messages/attachments?access_token=".$_SESSION['access_token']; $ch = curl_init(); $ruta = '@' . realpath('c:/prueba.png'); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data')); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("file" => $ruta))); $art = curl_exec($ch);
  7. Ah, ok, se hace la subida directa, iba por mal camino, muchas gracias voy a hacer pruebas! Es mas simple de lo que pensaba entonces! Mil gracias
  8. Si, hasta ahi llego, subo el archivo que quiero adjuntar a una carpeta temporal con un metodo similar al que pones en el link, hasta ahi no hay problema... mi problema viene al hacer el POST de la api, no se como poner la ruta file=xxxxxx ya que ponga lo que ponga me devuelve el error "File attachment must be present" Y al consultar con soporte, me desconcertó del todo al recibir esta respuesta: "Te cuento que no es posible enviar una ruta de un servidor, se debe descarga previamente, guardarla localmente y luego con esa ruta, como por ejemplo /Users/Downloads/Banner.jpg, enviarlo mediante la api" ... luego me paso un ejemplo con una ruta desde el disco c: Entonces entendi que hay que poner la ruta desde el disco duro del cliente??? y descarté la logica que es la que me decis de hacer, que es subir el archivo a un temporal y desde ahi darle la ruta al post, ahi es donde estoy perdido!! Entonces, como hago? Tengo el archivo subido con multipart data como me indicas en https://www.soloprueba.com/archivo.jpg (como ejemplo) ... lo subo desde ahi? descarto esto como me dijeron en soporte y lo subo desde c: ??? en cualquier caso como se pone la ruta f=xxxxx? $parametros = array( "-F" => "file=?????????" ) ; $art = $meli->post("https://api.mercadolibre.com/messages/attachments?access_token=".$_SESSION['access_token'],$parametros);
  9. Gracias juvian, ahi los estoy analizando!
  10. Buenas tardes! Estoy muy trabado desde hace unos dias, necesito saber como puedo adjuntar un archivo en un mensaje post venta, ya lei la documentacion, que es poca para este punto, y puedo enviar mensajes perfectamente pero no los adjuntos! Lo que no termino de entender es el procedimiento Yo lo que hice fue mediante mi aplicacion, subir el archivo a una carpeta temporal (ejemplo https://www.soloprueba.com/archivo.jpg) y desde alli hacer la llamada con la ruta file=https://www.soloprueba.com/archivo.jpg (aca es donde hago agua, seguramente esta mal esto)... pero siempre da error File attachment must be present Luego a modo de prueba intente directo desde el disco local y tampoco doy con la ruta... Me podrian explicar por favor como es el procedimiento? o sea desde donde lo tengo que leer y un ejemplo de ruta (consulte a soporte y realmente me confundieron mas, ya que me respondieron exactamente: Te cuento que no es posible enviar una ruta de un servidor, se debe descarga previamente, guardarla localmente y luego con esa ruta, como por ejemplo /Users/Downloads/Banner.jpg, enviarlo mediante la api) Descargarlo? para que lo subo y luego lo descargo, no entendi el mensaje... guardarlo localmente? pero si originalmente esta asi, localmente! y me dio una ruta de ejemplo relativa, no se donde tiene que estar el archivo!! Ya no se si volver a consultarle ya que entramos como en bucle Gracias de antemano por la ayuda!
  11. Intenta redirigiendo a este script: session_start('teste'); $_SESSION['access_token'] = false; $_GET['code'] = false; header("Location: https://www.tusitio.com"); Creo que es eso lo que necesitas Saludos!