/** * Lists the user's labels, including name, type, * ID and visibility information. */functionlistLabelInfo(){try{constresponse=Gmail.Users.Labels.list("me");for(leti=0;i < response.labels.length;i++){constlabel=response.labels[i];console.log(JSON.stringify(label));}}catch(err){console.log(err);}}
/** * Lists, for each thread in the user's Inbox, a * snippet associated with that thread. */functionlistInboxSnippets(){try{letpageToken;do{constthreadList=Gmail.Users.Threads.list("me",{q:"label:inbox",pageToken:pageToken,});if(threadList.threads && threadList.threads.length > 0){for(constthreadofthreadList.threads){console.log(`Snippet: ${thread.snippet}`);}}pageToken=threadList.nextPageToken;}while(pageToken);}catch(err){console.log(err);}}
/** * Gets a history record ID associated with the most * recently sent message, then logs all the message IDs * that have changed since that message was sent. */functionlogRecentHistory(){try{// Get the history ID associated with the most recent// sent message.constsent=Gmail.Users.Threads.list("me",{q:"label:sent",maxResults:1,});if(!sent.threads||!sent.threads[0]){console.log("No sent threads found.");return;}consthistoryId=sent.threads[0].historyId;// Log the ID of each message changed since the most// recent message was sent.letpageToken;constchanged=[];do{constrecordList=Gmail.Users.History.list("me",{startHistoryId:historyId,pageToken:pageToken,});consthistory=recordList.history;if(history && history.length > 0){for(constrecordofhistory){for(constmessageofrecord.messages){if(changed.indexOf(message.id)===-1){changed.push(message.id);}}}}pageToken=recordList.nextPageToken;}while(pageToken);for(constidofchanged){console.log("Message Changed: %s",id);}}catch(err){console.log(err);}}
/** * Lists unread messages in the user's inbox using the advanced Gmail service. */functionlistMessages(){// The special value 'me' indicates the authenticated user.constuserId="me";// Define optional parameters for the request.constoptions={maxResults:10,// Limit the number of messages returned.q:"is:unread",// Search for unread messages.};try{// Call the Gmail.Users.Messages.list method.constresponse=Gmail.Users.Messages.list(userId,options);constmessages=response.messages;console.log("Unread Messages:");for(constmessageofmessages){console.log(`- Message ID: ${message.id}`);}}catch(err){// Log any errors to the Apps Script execution log.console.log(`Failed with error: ${err.message}`);}}