1

Ich versuche, eine E-Mail in zu einem bestimmten Laufwerk Ordner finden jedoch speichern Fehler bekommen NachrichtTypeerror: Kann nicht funktionieren hasNext in Objekt

TypeError: Cannot find function hasNext in object 

Irgendeine Idee, wie ich diese überwinden kann.

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 gibt einen einzelnen Ordner, kein Iterator. – ScampMichael

Antwort

0

Allgemein gilt: wenn das Substantiv nach "get" in Pluralform ist, erhalten Sie ein Iterator mit hasNext und next Methoden verwendet werden. Wenn dieses Nomen in Singularform ist, erhalten Sie ein einzelnes Objekt. Beispiele:

  • getFileById kehrt eine Datei
  • getFiles Iterator zurück
  • getFilesByName Iterator zurück
  • getFilesByType gibt einen Iterator
  • getFolderById kehrt ein Ordner
  • getFolders gibt einen Iterator
  • getFoldersByName gibt einen Iterator
Verwandte Themen