Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

416
Vistas
¿Cómo convertir bloburl/objecturl para Google Apps Script createFile() API?

El siguiente código contiene la API createFile() , espera un solo objeto (llamado "archivo" aquí). De esta manera, el archivo se puede guardar en alguna carpeta de Google Drive.

 function uploadFiles(data) { var file = data; var folder = DriveApp.getFolderById('1UWGb5Mzr9VzPUuQTr9CWD7EMYNEAzyuC'); var createFile = folder.createFile(file); return createFile.getUrl(); }

Ahora quiero combinar esta función con otra página web. Sin embargo, el script en otra página web está a continuación:

 for (clipIndex = 0; clipIndex < unrollWordCounts(getAllWantedWords()).length; clipIndex++) { try { var clip = allClips[clipIndex]; clip.style.display = 'None'; var audioBlobUrl = clip.querySelector('audio').src; var word = clip.querySelector('p').innerText; var filename = word + '_' + Date.now() + '.ogg'; saveAs(audioBlobUrl, filename); google.script.run.withSuccessHandler(onSuccess).uploadFiles(audioBlobUrl); }

Los datos que quiero cargar en Google Drive son audioBlobUrl . Sin embargo, createFile() del script de la aplicación espera un archivo. Parece que audioBlobUrl no es un archivo. ¿Cómo debo modificar el código para que pueda pasar los datos esperados a google createFile() para lograr mi objetivo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

A partir de su respuesta, confirmé que su audioBlobUrl es como blob:https://n-gtuqz5opiogjdwjt5bm3j7sgiq5rl4g7osg6piq-0lu-script.googleusercontent.com/a9f62d15-c7c1-41c0-ac5d-0a05dcb01fa6 . En este caso, lamentablemente, esta URL no se puede utilizar directamente. Entonces, para usar esto en Google Apps Script, se requiere convertir a los datos. En esta respuesta, me gustaría proponer el script de muestra para convertir la URL a los datos (en este caso, la URL se convierte a la matriz de bytes). Con esto, los datos se pueden descodificar en Google Apps Script y se pueden guardar como un archivo.

Guión modificado:

Lado de Javascript:

Como secuencia de comandos de muestra simple, cuando se utilizan su audioBlobUrl y el nombre de filename , utilice la siguiente secuencia de comandos.

 fetch(audioBlobUrl).then(r => r.blob()).then(blob => { var fr = new FileReader; fr.onload = f => { var obj = {data: [...new Int8Array(f.target.result)], mimeType: blob.type, filename}; google.script.run.withSuccessHandler(onSuccess).uploadFiles(obj); }; fr.readAsArrayBuffer(blob); });

Lado de Google Apps Script:

En el lado de Google Apps Script, modifique uploadFiles de la siguiente manera.

 function uploadFiles({data, mimeType, filename}) { var file = Utilities.newBlob(data, mimeType, filename || "sampleFilename"); var folder = DriveApp.getFolderById('1UWGb5Mzr9VzPUuQTr9CWD7EMYNEAzyuC'); var createFile = folder.createFile(file); return createFile.getUrl(); }

Nota:

  • google.script.run se ejecuta con el proceso asíncrono. Parece que google.script.run se usa en un bucle. Aunque no estoy seguro acerca de su secuencia de comandos completa, si el proceso asincrónico se convertirá en su nuevo problema, modifíquelo.

  • Este script modificado supone que su audioBlobUrl es como blob:https://n-gtuqz5opiogjdwjt5bm3j7sgiq5rl4g7osg6piq-0lu-script.googleusercontent.com/a9f62d15-c7c1-41c0-ac5d-0a05dcb01fa6 de su respuesta. Por favor tenga cuidado con esto.

  • No estoy seguro acerca de su situación real a partir de su pregunta. Cuando utilice su secuencia de comandos como aplicaciones web, cuando modifique la secuencia de comandos, refleje la secuencia de comandos más reciente en las aplicaciones web. Tenga cuidado con esto.

Referencia:

  • buscar (url)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda