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

137
Vistas
Google App Script pageToken para guardar archivos adjuntos en Google Drive

Básicamente, lo que estoy tratando de hacer es obtener todos los archivos adjuntos dentro de los correos electrónicos recibidos en una carpeta en Google Drive (hay muchos, en su mayoría .PDF). Pero dice que no puedo ir más allá de 500 archivos adjuntos con la función de búsqueda y que tengo que usar algo llamado pageToken que no tengo idea de cómo aplicar a mi código. Así que necesito algún consejo o guía o tal vez algunos ejemplos para hacer esto.

 function saveGmailtoGoogleDrive() { const folderId = '1apaQJjDSK-bNfd3ZgiFqK23cE7SCPqoB'; //Google Drive Folder const searchQuery = 'label:unread has:attachment'; //Filter const threads = GmailApp.search(searchQuery, 0, 500); threads.forEach(thread => { const messages = thread.getMessages(); messages.forEach(message => { const attachments = message.getAttachments({ includeInlineImages: false, includeAttachments: true }); attachments.forEach(attachment => { // Insert the attachment to google drive folder Drive.Files.insert( { title: attachment.getName(), mimeType: attachment.getContentType(), parents: [{ id: folderId }] }, attachment.copyBlob() ); }); }); }); };

 function saveGmailtoGoogleDrive() { const folderId = '1apaQJjDSK-bNfd3ZgiFqK23cE7SCPqoB'; //Google Drive Folder const searchQuery = 'label:unread has:attachment'; //Filter const threads = GmailApp.search(searchQuery, 0, 500); threads.forEach(thread => { const messages = thread.getMessages(); messages.forEach(message => { const attachments = message.getAttachments({ includeInlineImages: false, includeAttachments: true }); attachments.forEach(attachment => { // Insert the attachment to google drive folder Drive.Files.insert( { title: attachment.getName(), mimeType: attachment.getContentType(), parents: [{ id: folderId }] }, attachment.copyBlob() ); }); }); }); };

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

0

Los argumentos del método de search(query, start, max) son query, start, max . El valor máximo actual de max es 500 . Cuando se supera este valor, se produce un error como Argument max cannot exceed 500. . Y, start es la posición de inicio de la búsqueda. Entonces pensé que esto puede usarse para lograr su objetivo. Cuando esto se refleja en su guión, se convierte en lo siguiente.

Guión modificado:

De:

 const threads = GmailApp.search(searchQuery, 0, 500);

A:

 let [start, end] = [0, 500]; let threads = []; do { const t = GmailApp.search(searchQuery, start, end); start += end; threads = [...threads, ...t]; } while (threads.length == start);
  • Mediante esta modificación, puede recuperar los correos electrónicos en threads de más de 500.

Referencia:

  • buscar (consulta, inicio, max)
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