Я пытаюсь сохранить электронную почту в конкретной папке диска, но получаю сообщение об ошибке
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);
}
В общем: если существительное после "get" находится во множественном числе, вы получаете итератор, который будет использоваться с hasNext
и next
методами. Если это существительное в единственном виде, вы получаете один объект. Примеры:
getFileById
возвращает один файлgetFiles
возвращает итераторgetFilesByName
возвращает итераторgetFilesByType
возвращает итераторgetFolderById
возвращает одну папкуgetFolders
возвращает итераторgetFoldersByName
возвращает итератор