1

に関数のhasNextを見つけることができませんしかし私は、エラーメッセージTypeError例外は:オブジェクト

TypeError: Cannot find function hasNext in object 

私はこれを克服することができますどのように任意のアイデアを得て、特定のドライブのフォルダーに電子メールを保存しようとしています。一般的に

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は単一のフォルダではなく、イテレータを返すを返します。 – ScampMichael

答えて

0

は、「get」の後に名詞が複数形であるならば、あなたはhasNextnext方法で使用するイテレータを取得します。その名詞が単数形である場合は、単一のオブジェクトが得られます。例:

  • getFileById戻り1つのファイル
  • getFilesイテレータ
  • getFilesByNameはイテレータ
  • getFilesByType
  • getFolderById戻り1つのフォルダ
  • イテレータを返し返し返しますイテレータ
  • getFoldersByNameはイテレータ
関連する問題