Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

361
Views
Intentando guardar una copia de un archivo en una carpeta específica de Google Drive, desde URL en una hoja de cálculo de Google

Estoy ejecutando este código en Google Apps Script para guardar una copia de un archivo (foto) en una carpeta específica, desde un enlace URL extraído de una hoja de Google. Las fotos están en cuentas de google drive de otras personas..

Esta hoja de Google proviene del formulario ODK que diferentes personas completan durante las encuestas de trabajo de campo, y necesito centralizar todos los datos en mi Gdrive.

Las URL están en la columna L de esta hoja de cálculo https://docs.google.com/spreadsheets/d/14vtEHDxxNc0d4yEn4T0gZcEyePJeJgw6NqQ9ajmn1fo/view#gid=0

El ID de la carpeta en la que intento guardar los archivos es: "1ImYcc_HqFZjpCUj4BHprhu3HSXKNQS0E"

Ejecuto mi código pero no pasa nada. (He activado la API)

Soy nuevo en la codificación, así que estoy muy perdido.

 var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheetName = "Sheet1"; var sh = ss.getSheetByName(sheetName); var rangeA1 = "L6:L68"; var rg=sh.getRange(rangeA1); var formulas = rg.getFormulas(); for (var i in formulas) { for (var j in formulas[i]) { var formula = formulas[i][j]; if (formula.length !=0){ var regex = /=\w+\((.*)\)/i; var matches = formula.match(regex); var imgurl = matches[1]; var filename = imgurl.substring(imgurl.lastIndexOf("/") + 1, imgurl.lastIndexOf("")); Logger.log(filename); var image = UrlFetchApp.fetch(imgurl).getBlob().getAs('image/jpg').setName(filename); var folder = DriveApp.getFolderById("1ImYcc_HqFZjpCUj4BHprhu3HSXKNQS0E"); var file = DriveApp.createFile(image); Drive.Files.update({"parents": [{"id": folder.getId()}]}, file.getId()); } } } }```
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hazme saber si esto funciona para ti:

 SpreadsheetApp.getActiveSpreadsheet() .getSheetByName(`Sheet1`) .getRange(`L6:L68`) .getDisplayValues() .flat() .filter(String) .forEach(url => { const targetFile = url.slice(url.indexOf(`id=`)+3) try { DriveApp.getFileById(targetFile) .makeCopy() .moveTo(`1ImYcc_HqFZjpCUj4BHprhu3HSXKNQS0E`) //.setName("") } catch (e) { Logger.log(`Unauthorized Access: [${targetFile}]`)} })
about 4 years ago · Juan Pablo Isaza Report

0

Copiar archivo a carpeta

 function lfunko() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName("Sheet1"); const vs = sh.getRange(2,1,sh.getLastRow() - 1,sh.getLastColumn()).getDisplayValues().filter(r => r[11]); const folder = DriveApp.getFolderById("1ImYcc_HqFZjpCUj4BHprhu3HSXKNQS0E"); vs.forEach(r => { let m = r[11].toString().match(/^[^=]+=([0-9A-Za-z_-]+)$/g); if (m) { let f = DriveApp.getFileById(m[1]); let c = f.makeCopy(f.getName()); Drive.Files.update({"parents": [{"id": folder.getId()}]}, c.getId()); } }) }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!