martes, 11 de octubre de 2022

API FTP con Google Drive

  A continuación se muestra una solución para crear una API Google Drive para almacenar y recuperar archivo desde tu carpetas de Google drive.

¿ Que necesitas para implementarlo ?

- Solo tener cuenta gmail

Video Solución:



Payload API FTP

trama envio documento:

{

    "op": "ftp_archivo",

    "archivo_name": "archivo1.pdf",

    "archivo_base64": ""

}

trama lectura documento:

{

    "op": "ftp_descargar",

    "archivo_name": "archivo1.pdf"

}

Código App Script

var folderurl = "ID_FOLDER";

function doPost(e){

  Logger.log("Funcion doPost Ingreso : la fecha y hora: " + new Date());

  var operacion = JSON.parse(e.postData.contents)

  var respuesta = "";

  if (operacion.op == "ftp_archivo"){

     var archivo_name = operacion.archivo_name;

     var archivo_type = "image/jpeg";

     if(archivo_name.includes(".pdf")){

       archivo_type="application/pdf";

     }else if(archivo_name.includes(".zip")){

       archivo_type="application/zip";

     }else if(archivo_name.includes(".xml")){

       archivo_type="application/xml";

     }    

     var archivo_base64 = operacion.archivo_base64;

     respuesta = almacenar(archivo_name,archivo_type,archivo_base64);

  }else if (operacion.op == "ftp_descargar"){

     var archivo_name = operacion.archivo_name;

     respuesta = descargar(archivo_name);

  } 

  return ContentService.createTextOutput(respuesta).setMimeType(ContentService.MimeType.JSON);

}

function descargar(archivo_name){

  

  var folder_ = DriveApp.getFolderById(folderurl); 

  var files_ = folder_.getFilesByName(archivo_name);

  var jo = {};

  jo.status = '1';

  jo.message = 'No existe el archivo'; 

  while (files_.hasNext()) {

    var archivo_=files_.next();          

    var encoded = Utilities.base64Encode(archivo_.getBlob().getBytes());

    jo.status = '0';

    jo.message = 'Existe el archivo'; 

    jo.archivo_base64 =encoded;

    existe = true;

  }     

  var result = JSON.stringify(jo); 

  return result;        

}

function almacenar(archivo_name,archivo_type,archivo_base64){

  

  var decoded = Utilities.base64Decode(archivo_base64);

  var image = Utilities.newBlob(decoded,archivo_type,archivo_name);

  var folder_ = DriveApp.getFolderById(folderurl); 

 // SE CREA EL ARCHIVO

  var file = folder_.createFile(image);

  var jo = {};

  jo.status = '0';

  jo.message = 'Exito';

  jo.urlpublica = "https://drive.google.com/uc?id="+file.getId();

  var result = JSON.stringify(jo); 

  return result;        

}





2 comentarios:

  1. Error 400 (Bad Request)!!1

    * {
    margin: 0;
    padding: 0
    }

    html,
    code {
    font: 15px/22px arial, sans-serif
    }

    html {
    background: #fff;
    color: #222;
    padding: 15px
    }

    body {
    margin: 7% auto 0;
    max-width: 390px;
    min-height: 180px;
    padding: 30px 0 15px
    }

    *>body {
    background: url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;
    padding-right: 205px
    }

    p {
    margin: 11px 0 22px;
    overflow: hidden
    }

    ins {
    color: #777;
    text-decoration: none
    }

    a img {
    border: 0
    }

    @media screen and (max-width:772px) {
    body {
    background: none;
    margin-top: 0;
    max-width: none;
    padding-right: 0
    }
    }

    #logo {
    background: url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;
    margin-left: -5px
    }

    @media only screen and (min-resolution:192dpi) {
    #logo {
    background: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;
    -moz-border-image: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0
    }
    }

    @media only screen and (-webkit-min-device-pixel-ratio:2) {
    #logo {
    background: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;
    -webkit-background-size: 100% 100%
    }
    }

    #logo {
    display: inline-block;
    height: 54px;
    width: 150px

    ResponderEliminar
    Respuestas
    1. revisa que hayas creado la carpeta de drive y compartido , cualquier cosa a anlusoft1@gmail.com

      Eliminar

Chatbot Taxi en whatsapp con Chatgpt

  Hola a continuación le dejo material para que puedan implementar un BOT de solicitud de taxi a traves de BOT whatsapp empleando la Super I...