1

J'essaie de sauver un e-mail dans un dossier d'entraînement particulier, cependant obtenir un message d'erreurTypeError: Vous ne trouvez pas la fonction hasNext dans l'objet

TypeError: Cannot find function hasNext in object 

Toute idée comment je peux surmonter cela.

function saveGmailToDrive() { 
    var gmailLabels = "SaveToDrivetest"; 
    var driveFolder = "Emails saved by " + Session.getActiveUser().getEmail() 

    /* Gmail Label that contains the queue */ 
    var label = GmailApp.getUserLabelByName(gmailLabels) ? 
        GmailApp.getUserLabelByName(gmailLabels) : 
        GmailApp.createLabel(gmailLabels); 

    var threads = GmailApp.search("in:" + gmailLabels, 0, 5); 

    if (threads.length > 0) {  
     /* Google Drive folder where the Files would be saved */ 
     var folders = DriveApp.getFolderById("0B9Ug3fXvrl5HeGRddddMcE93bkE3Q1k"); 
     var folder = folders.hasNext() ? 
         folders.next() : 
         DriveApp.createFolder(driveFolder); 
    } 
+4

DriveApp.getFolderById retourne un seul dossier, pas un itérateur. – ScampMichael

Répondre

0

En général: si le nom après « get » est au pluriel, vous obtenez un itérateur à utiliser avec hasNext et next méthodes. Si ce nom est au singulier, vous obtenez un seul objet. Exemples:

  • getFileById renvoie un fichier
  • getFiles retourne un itérateur
  • getFilesByName retourne un itérateur
  • getFilesByType retourne un itérateur
  • getFolderById retours un dossier
  • getFolders retourne un itérateur
  • getFoldersByName renvoie un itérateur