Mi objetivo es obtener todos los mensajes con una etiqueta particular en una matriz.
Actualmente estoy usando Gmailapp.search() , que me brinda una variedad de hilos de Gmail con la etiqueta que especifiqué. Donde estoy atascado es en extraer todos los mensajes de los hilos en una matriz. Como puede ver en el código a continuación, estoy tratando de usar la función getMessagesForThreads() , pero con el código que tengo a continuación, la cantidad de hilos y la cantidad total de mensajes es la misma, lo que no puede ser correcto.
function getRelevantMessages() { var queried_Email_Threads = GmailApp.search ("label:expense tracking/Credit Card"); console.log('Number of threads queried:'+ queried_Email_Threads.length) var messages = GmailApp.getMessagesForThreads(queried_Email_Threads) console.log('Total number of messages: ' + messages.length) }
Cuando vi el documento oficial del método de getMessagesForThreads
, el script de muestra es el siguiente.
// Log the subject lines of all messages in the first two threads of your inbox var thread = GmailApp.getInboxThreads(0, 2); var messages = GmailApp.getMessagesForThreads(thread); for (var i = 0 ; i < messages.length; i++) { for (var j = 0; j < messages[i].length; j++) { Logger.log("subject: " + messages[i][j].getSubject()); } }
Cuando este script de muestra se refleja en su script, se convierte en lo siguiente.
function getRelevantMessages() { var queried_Email_Threads = GmailApp.search("label:expense tracking/Credit Card"); console.log('Number of threads queried:' + queried_Email_Threads.length) var messages = GmailApp.getMessagesForThreads(queried_Email_Threads) console.log('Total number of messages: ' + messages.length) // I added below script. var res = []; for (var i = 0; i < messages.length; i++) { for (var j = 0; j < messages[i].length; j++) { res.push(messages[i][j]); } } console.log(res.length) }
Del documento oficial ,
GmailMessage[][]
(degetMessagesForThreads
): una matriz de matrices de mensajes, donde cada elemento de la matriz externa corresponde a un hilo y la matriz interna contiene los mensajes de ese hilo.