Rocket Hart Exinity

Otomasi File Gmail

Belajar Otomasi

Belajar Otomasi

Script Utama

Apabila anda ingin secara otomatis backup file dari Gmail ke folder Google Drive, maka write-apps ini menjelaskan langkah untuk melakukannya.

  1. Klik Tools pada menu spreadsheet anda.
  2. Pilih Script Editor.
  3. Pilih code.gs
  4. Copy dan Paste seluruh script diatas kedalam file code.gs
  5. Klik Untitled Project.
  6. Berikan nama project sesuai yang diinginkan.
  7. Setelah itu buka kembali Google Sheet anda.
  8. Pada cell D4 isi dengan nama label gmail yang ingin di monitor. (Contoh : Inbox)
  9. Pada Cell D5 Isi dengan nama folder pada google drive anda.
  10. Pada cell D6, isikan dengan nama yang ingin ada buat pada untuk Label Gmail anda.
  11. Selanjutnya lakukan autorisasi dengan cara memilih kustom menu yang sudah kita buat, pilih step 1. Authorize.
  12. Pilih akun google anda lalu berikan autorisasi.
  13. Setelah melakukan autorisasi, pilih menu kustom kembali lakukan step 2. Run Program.
  14. Buka Mydrive, pastikan terdapat nama folder sesuai dengan langkah 9.
function exinityGMail2Gdrive() {  
 var sheet   = SpreadsheetApp.getActiveSheet();  
 var gmailLabels  = sheet.getRange("D4:D4").getValue();  
 var driveFolder  = sheet.getRange("D5:D5").getValue();  
 var archiveLabel = sheet.getRange("D6:D6").getValue();  
 var moveToLabel = getGmailLabel(archiveLabel);  
 var filter = createFilter(gmailLabels, archiveLabel);  
 var threads = GmailApp.search(filter, 0, 5);  
 var folder = getFolder(driveFolder);  
 for (var x=0; x<threads.length; x++) {    
   var message = threads[x].getMessages()[0];    
   var desc   = message.getSubject() + " #" + message.getId();
   var att    = message.getAttachments();
   threads[x].addLabel(moveToLabel);    
   for (var z=0; z<att.length; z++) {
     try {                
       file = folder.createFile(att[z]);
       file.setDescription(desc);
     }
     catch (e) {
       Logger.log(e.toString());
     }
   }  
 }
}
function createFilter(label, archiveLabel) {
 label = label.replace(/\s+/g, "-");
 archiveLabel = archiveLabel.replace(/\s+/g, "-");  
 var filter = "has:attachment -label:" + archiveLabel + " label:" + label;  
 return filter;  
}
function getFolder(parent) {  
 var parentFolder, searchFolder = DriveApp.getFoldersByName(parent);
   if (searchFolder.hasNext()) {
   parentFolder = searchFolder.next();
 } else {
   parentFolder = DriveApp.createFolder(parent);
 }  
 return parentFolder;  
}
function getGmailLabel(name) {  
 name = name.replace(/\s+/g, "-");  
 var label = GmailApp.getUserLabelByName(name);  
 if ( ! label ) {    
   label = GmailApp.createLabel(name);    
 }  
 return label;  
}
function configure() {  
 reset();  
 ScriptApp.newTrigger("sendToGoogleDrive").timeBased().everyMinutes(5).create();  
 Browser.msgBox("Initialized", "The program is now running.", Browser.Buttons.OK);  
}
function onOpen() {  
 var menu = [    
   { name: "Step 1: Authorize",   functionName: "configure" },
   { name: "Step 2: Run Program", functionName: "configure" },
   { name: "Uninstall (Stop)",    functionName: "reset"     }
 ];  
 SpreadsheetApp.getActiveSpreadsheet()
 .addMenu("Gmail Attachments", menu);
}
function reset() {  
 var triggers = ScriptApp.getProjectTriggers();  
 for (var i = 0; i < triggers.length; i++) {
   ScriptApp.deleteTrigger(triggers[i]);    
 }  
}
Detail Script

Detail Script

Adanya kustom menu tambahan pada Google Sheet, akan mempermudah untuk menjalankan dan mematikan fungsi script. Script exinityGMail2Gdrive melakukan monitoring setiap 5 menit sekali pada Label Gmail yang anda buat pada langkah nomor 8. Dengan demikian dokumen-dokumen berupa pdf, excel, photo dan lainya akan otomatis terunduh dan disimpat langsung pada folder Google Drive dengan nama yang anda berikan pada langkah nomor 9.

Ide Sederhana

Mewujudkan Ide seperti keinginan untuk menyimpan file secara otomasi tidaklah terlalu sulit, dengan menggunakan bantuan Apps Script dan sedikit kode, hal tersebut dapat terwujud. Dengan demikian kita tidak perlu lagi untuk melakukan backup data secara manual dengan mendownload file attahcment dari email secara langsung dan memindahkan file tersebut ke folder yang kita tuju. Kami akan mulai isikan tulisan kami terkait dengan Google Apps Script Indonesia ini dan berharap semakin banyak yang bisa melakukan otomasi untuk kemajuan bersama.

Lihat Babagi Lainnya
Belajar Appsheet

Silahkan click gambarnya atau hover menggunakan mouse.

No items found.
AppScript