Google Apps Script: Panduan Bagi Pemula

Apa itu Google Apps Script?

Google Apps Script adalah bahasa skrip berbasis cloud untuk memperluas fungsionalitas Google Apps dan membangun aplikasi berbasis cloud yang ringan.

Apa artinya ini dalam praktik?

Ini berarti Anda menggunakan Script Aplikasi untuk menulis program kecil yang memperluas fitur standar Google Apps. Saya suka mengatakan itu bagus untuk mengisi kesenjangan dalam alur kerja Anda.

Misalnya, saya dulu kewalahan dengan umpan balik dari kursus saya dan tidak bisa menanggapi semua orang. Sekarang, ketika seorang siswa mengirimkan umpan balik mereka, skrip saya membuat konsep email di Gmail yang siap untuk saya tinjau. Ini mencakup semua umpan balik sehingga saya bisa membacanya di Gmail dan segera merespons.

Itu membuat tugas yang sebelumnya mustahil dikelola.

Dengan Apps Script, Anda dapat melakukan hal-hal keren seperti mengotomatiskan tugas yang berulang, membuat dokumen, mengirim email ke orang secara otomatis dan menghubungkan Google Sheets Anda ke layanan lain yang Anda gunakan.

Kursus Script Aplikasi termasuk makro Google Sheets

Menulis Google Script pertama Anda

Dalam tutorial skrip Google Sheets ini, kita akan menulis skrip yang terikat ke Google Sheet kita. Ini disebut skrip terikat wadah .

(Jika Anda mencari contoh dan tutorial lebih lanjut, lihat daftar lengkap artikel Apps Script di beranda saya .)

Hello World di Google Apps Script

Mari kita menulis program pertama kami yang sangat mendasar, program klasik “Hello world” yang dicintai departemen pengajaran komputer di seluruh dunia.

Mulailah dengan membuat Google Sheet baru.

Kemudian klik menu Tools > Script editor...untuk membuka tab baru dengan jendela editor kode.

Ini akan membuka tab baru di browser Anda, yang merupakan jendela editor Google Apps Script:

Jendela editor Google Apps Script

Secara default, itu akan terbuka dengan satu file Google Script ( code.gs) dan blok kode default, myFunction():

function myFunction () {
  
}

Di jendela kode, di antara kurung kurawal setelah function myFunction()sintaks, tulis baris kode berikut sehingga Anda memiliki ini di jendela kode Anda:

function myFunction () {
  Browser.msgBox ("Hello World!");
}

Jendela kode Anda sekarang akan terlihat seperti ini:

Menu editor tutorial skrip Google Sheets

Otorisasi Skrip Google Apps

Google Scripts memiliki perlindungan keamanan yang kuat untuk mengurangi risiko dari aplikasi yang tidak diverifikasi, jadi kami melalui alur kerja otorisasi ketika kami pertama kali mengotorisasi aplikasi kami sendiri.

Saat Anda menekan tombol jalankan (segitiga hitam) untuk pertama kalinya, Anda akan diminta untuk mengotorisasi aplikasi untuk menjalankan:

Otorisasi Skrip Google Apps

Mengklik Lanjutkan muncul jendela lain pada gilirannya, menunjukkan izin apa yang perlu dijalankan aplikasi Anda. Dalam hal ini aplikasi ingin melihat dan mengelola spreadsheet Anda di Google Drive, jadi klik Izinkan (jika tidak, skrip Anda tidak akan dapat berinteraksi dengan spreadsheet Anda atau melakukan apa pun):

Otorisasi Skrip Google Apps

❗️Ketika Anda menjalankan skrip aplikasi pertama kali, Anda mungkin melihat layar “aplikasi tidak diverifikasi” dan peringatan apakah Anda ingin melanjutkan.

Dalam kasus kami, karena kami adalah pembuat aplikasi, kami tahu itu aman sehingga kami ingin melanjutkan. Selain itu, proyek skrip aplikasi dalam posting ini tidak dimaksudkan untuk dipublikasikan untuk pengguna lain, jadi kami tidak perlu mengirimkannya ke Google untuk ditinjau (walaupun jika Anda ingin melakukannya, berikut informasi lebih lanjut ).

Klik tombol “Advanced” di kiri bawah pop-up izin review, dan kemudian klik “Go to Starter Script Code (tidak aman)” di bagian bawah layar berikutnya untuk melanjutkan. Kemudian ketikkan kata-kata “Lanjutkan” di layar berikutnya, klik Berikutnya, dan akhirnya tinjau izin dan klik “ALLOW”, seperti yang ditunjukkan pada gambar ini (menampilkan skrip yang berbeda):

Informasi lebih lanjut dapat ditemukan di posting blog terperinci ini dari Pakar Pengembang Google Martin Hawksey .

Menjalankan fungsi di Skrip Aplikasi

Setelah Anda mengesahkan skrip Google App, fungsi tersebut akan berjalan (atau menjalankan). Anda akan melihat dua pesan status untuk memberi tahu Anda apa yang terjadi.

Pertama ini:

GAS mengeksekusi skrip

Dan yang ini:

Status eksekusi GAS 2

Jika ada yang salah dengan kode Anda, ini adalah tahap ketika Anda akan melihat pesan peringatan (bukan pesan kuning, Anda akan mendapatkan kotak merah dengan pesan kesalahan di dalamnya).

Sekarang, dengan asumsi Anda mendapat dua pesan status kuning dan keduanya secara otomatis menghilang dari pandangan, maka program Anda telah berhasil dijalankan. Klik kembali pada tab browser dengan spreadsheet Anda (kemungkinan besar tab di sebelah kiri dari yang kita masuki).

Anda harus melihat output dari program Anda, sembulan kotak pesan dengan klasik “Hello world!” pesan:

Google Apps Script menampilkan hello world

Klik OK untuk mengabaikan.

Kerja bagus! Anda sekarang telah menulis program skrip aplikasi pertama Anda.

Ganti nama fungsi di Google Apps Script

Kita harus mengganti nama fungsi kita menjadi sesuatu yang lebih bermakna.

Saat ini, ini disebut myFunction yang merupakan nama generik default yang dihasilkan oleh Google. Setiap kali saya ingin memanggil fungsi ini (yaitu menjalankannya untuk melakukan sesuatu ) saya akan menulis myFunction(). Ini tidak terlalu deskriptif, jadi mari kita ganti namanya helloWorld(), yang memberi kita beberapa konteks.

Jadi, ubah kode Anda di baris 1 dari ini:

function myFunction () {
  Browser.msgBox ("Hello World!");
}

untuk ini:

function helloWorld () {
  Browser.msgBox ("Hello World!");
}

Catatan, ini adalah konvensi dalam Apps Script untuk menggunakan konvensi penamaan CamelCase , dimulai dengan huruf kecil. Oleh karena itu, kami beri nama fungsi kami helloWorld, dengan huruf kecil hdi awal halo dan huruf besar W di awal Dunia .

Menambahkan menu khusus di Google Apps Script

Dalam bentuknya saat ini, program kami sangat tidak berguna karena berbagai alasan, paling tidak karena kami hanya dapat menjalankannya dari jendela editor skrip dan bukan dari spreadsheet kami.

Mari kita perbaiki dengan menambahkan menu khusus ke bilah menu spreadsheet kami , sehingga pengguna dapat menjalankan skrip di dalam spreadsheet tanpa perlu membuka jendela editor.

Ini sebenarnya sangat mudah dilakukan, hanya membutuhkan beberapa baris kode. Tambahkan 6 baris kode berikut ke dalam jendela editor, di atas helloWorld()fungsi yang kami buat di atas, seperti yang ditunjukkan di sini:

function onOpen () {
  var ui = SpreadsheetApp.getUi ();
  ui.createMenu ('My Custom Menu')
      .addItem ('Say Hello', 'helloWorld')
      .addToUi ();
}

function helloWorld () {
  Browser.msgBox ("Hello World!");
}

Jika Anda melihat kembali tab spreadsheet di browser sekarang, tidak ada yang berubah. Anda belum memiliki menu khusus di sana. Kami perlu membuka kembali spreadsheet kami (menyegarkannya) atau menjalankan onOpen()skrip kami terlebih dahulu, agar menu muncul.

Untuk menjalankan onOpen()dari jendela editor, pertama pilih fungsi onOpen seperti yang ditunjukkan pada gambar ini:

Menu khusus Google Apps Script

Setelah Anda memilih onOpenfungsi, tombol segitiga kecil akan berubah dari abu-abu terang menjadi hitam, artinya dapat diklik untuk menjalankan fungsi yang Anda pilih:

Jalankan fungsi

Sekarang, ketika Anda kembali ke spreadsheet Anda, Anda akan melihat menu baru di sisi kanan opsi Bantuan , yang disebut Menu Kustom Saya . Klik di atasnya dan itu akan terbuka untuk menunjukkan pilihan untuk menjalankan program Hello World Anda:

Menu kustom

Jalankan fungsi dari tombol di Google Sheets

Cara alternatif untuk menjalankan Google Script dari Sheets Anda adalah dengan mengikat fungsi ke tombol di Sheet Anda.

Misalnya, inilah Lembar templat faktur dengan tombol RESET untuk menghapus konten:

Tombol dengan skrip aplikasi di lembar google

Untuk informasi lebih lanjut tentang cara melakukan ini, lihat posting ini: Tambahkan Tombol Google Sheets Untuk Menjalankan Skrip

Contoh Skrip Google Apps

Makro di Google Sheets

Cara hebat lain untuk memulai dengan Google Scripts adalah dengan menggunakan Macro. Macro adalah program kecil di Google Sheets yang Anda rekam sehingga Anda dapat menggunakannya kembali (misalnya menerapkan pemformatan standar ke tabel). Mereka menggunakan Apps Script di bawah tenda sehingga merupakan cara yang bagus untuk memulai melihat apa yang dapat Anda lakukan.

Baca selengkapnya: Panduan Lengkap untuk Otomatisasi Sederhana menggunakan Google Sheets Macros

Fungsi khusus menggunakan Skrip Google Apps

Mari kita membuat fungsi khusus dengan Script Aplikasi, dan juga mendemonstrasikan penggunaan Layanan Maps . Kami akan membuat fungsi khusus kecil yang menghitung jarak mengemudi antara dua titik, berdasarkan perkiraan mengemudi Layanan Google Maps.

Tujuannya adalah untuk dapat memiliki dua nama tempat di spreadsheet kami, dan ketik fungsi baru dalam sel baru untuk mendapatkan jarak, sebagai berikut:

Fungsi khusus GAS untuk peta

Solusinya harus:

Output fungsi peta khusus GAS

Salin kode berikut ke jendela editor Aplikasi Script dan simpan. Pertama kali, Anda harus menjalankan skrip sekali dari jendela editor dan klik “Izinkan” untuk memastikan skrip dapat berinteraksi dengan spreadsheet Anda.

function distanceBetweenPoints (start_point, end_point) {
  // dapatkan petunjuknya
  var direction = Maps.newDirectionFinder ()
     .setOrigin (start_point)
     .setDestination (end_point)
     .setMode (Maps.DirectionFinder.Mode.DRIVING)
     .mendapatkan petunjuk();
  
  // dapatkan rute pertama dan kembalikan jarak
  var route = direction.routes [0];
  var distance = route.legs [0] .distance.text;
  jarak kembali;
}

Menyimpan data dengan Google Apps Script

Mari kita lihat contoh penggunaan sederhana lainnya untuk tutorial Skrip Aplikasi Google Sheets ini.

Di sini, saya telah menyiapkan fungsi importxml untuk mengekstrak jumlah pengikut yang dimiliki saluran media sosial tertentu (misalnya dalam hal ini saluran Reddit), dan saya ingin menyimpan salinan nomor itu pada interval berkala, seperti:

menyimpan data dalam lembar google

Dalam skrip ini, saya telah membuat menu khusus (seperti yang kami lakukan di atas) untuk menjalankan fungsi utama saya. Fungsi utama saveData(),, menyalin baris atas spreadsheet saya (data langsung) dan menempelkannya ke baris kosong berikutnya di bawah rentang data saya saat ini sebagai teks, sehingga “menyimpan” snapshot dalam waktu.

Kode untuk contoh ini adalah:

// fungsi menu khusus
function onOpen () {
  var ui = SpreadsheetApp.getUi ();
  ui.createMenu ('Menu Kustom')
      .addItem ('Save Data', 'saveData')
      .addToUi ();
}

// berfungsi untuk menyimpan data
function saveData () {
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var sheet = ss.getSheets () [0];
  var url = sheet.getRange ('Sheet1! A1'). getValue ();
  var follower_count = sheet.getRange ('Sheet1! B1'). getValue ();
  var date = sheet.getRange ('Sheet1! C1'). getValue ();
  sheet.appendRow ([url, follower_count, date]);
}

Lihat posting ini: Menyimpan Data di Google Sheets , untuk panduan langkah demi langkah untuk membuat dan menjalankan skrip ini.

Contoh Skrip Google Apps di Google Documents

Google Apps Script sama sekali tidak terbatas pada Sheets saja, dan sama-sama berlaku di lingkungan Google Documents. Berikut ini contoh cepat skrip yang menyisipkan simbol atau string teks tertentu ke dalam Doc Anda di mana pun kursor berada:

Skrip Aplikasi Google Documents

Kami melakukan ini menggunakan Skrip Google App sebagai berikut:

1. Buat Google Doc baru

2. Buka editor skrip dari menu: Tools > Script editor...

3. Klik pada: Create script for > Blank Project

Menu skrip Google Apps

4. Pada tab Script yang baru dibuka, hapus semua kode boilerplate (blok kode `myFunction`)

5. Salin dalam kode berikut:

// kode untuk menambahkan menu khusus
function onOpen () {
  var ui = DocumentApp.getUi ();
  ui.createMenu ('My Custom Menu')
      .addItem ('Masukkan Symbol', 'insertSymbol')
      .addToUi ();
};

// kode untuk menyisipkan simbol
function insertSymbol () {  
  // tambahkan simbol di posisi kursor
  var cursor = DocumentApp.getActiveDocument (). getCursor ();
  var element = cursor.insertText ('§§');
  
};

6. Anda dapat mengubah karakter khusus di baris ini

var element = cursor.insertText('§§');

untuk apa pun yang Anda inginkan, misalnya

var element = cursor.insertText('( ͡° ͜ʖ ͡°)');

7. Klik Simpan dan beri nama skrip proyek Anda (tidak memengaruhi jalannya, sebut saja itu yang Anda inginkan misalnya Sisipkan Simbol)

8. Jalankan skrip untuk pertama kalinya dengan mengklik menu: Run > onOpen

9. Google akan mengenali skrip yang belum diotorisasi dan menanyakan apakah Anda ingin melanjutkan. Klik Lanjutkan

10. Karena ini skrip pertama kali dijalankan, Google Documents meminta Anda untuk mengesahkan skrip (saya menyebut skrip saya “pengujian” yang dapat Anda lihat di bawah):

Autentikasi Script Aplikasi Documents

11. Klik Perbolehkan

12. Kembali ke Google Doc Anda sekarang.

13. Anda akan memiliki opsi menu baru, jadi klik di atasnya:
My Custom Menu > Insert Symbol

14. Klik pada Sisipkan Simbol dan Anda akan melihat simbol dimasukkan di mana pun kursor Anda berada.

Tip Skrip Google Apps: Gunakan kelas Logger

Gunakan kelas Logger untuk menampilkan pesan teks ke file log, untuk membantu kode debug.

File log dapat diakses setelah program selesai berjalan, dengan pergi ke View > Show Logs(atau Cmd + Enter , atau Ctrl + Enter (pada PC)).

Sintaks dalam bentuk paling dasar adalah . Ini mencatat nilai variabel pada berbagai langkah program Anda.Logger.log(something in here)

Misalnya, tambahkan skrip ini ke file kode jendela editor Anda:

function logTimeRightNow () {
  var timestamp = Tanggal baru ();
  Logger.log (timestamp);
}

Jalankan skrip di jendela editor, lalu View > Show Logsdan Anda akan melihat:

keluaran logger

Contoh dunia nyata dari karya saya sendiri

Saya hanya menggaruk permukaan dari apa yang mungkin menggunakan GAS untuk memperluas pengalaman Google Apps.

Berikut adalah beberapa proyek menarik yang telah saya kerjakan:

1) Aplikasi lembar / web yang terdiri dari formulir web khusus yang memasukkan data ke dalam Google Sheet (termasuk mengunggah gambar ke Drive dan menampilkan thumbnail dalam spreadsheet), kemudian membuat salinan data PDF dalam spreadsheet dan secara otomatis mengirimkannya melalui email kepada pengguna. Dan dengan semua data di Google Sheet master, dimungkinkan untuk melakukan analisis data, membuat dasbor yang menampilkan data secara real-time dan berbagi / berkolaborasi dengan pengguna lain.

2) Dasbor yang menghubungkan ke akun Google Analytics, menarik data media sosial, memeriksa status situs web dan mengirim email tangkapan layar ringkasan sebagai PDF pada akhir setiap hari.

Dasbor pemasaran menggunakan Google Apps Script

3) Templat penandaan yang dapat mengirim skor / umpan balik kepada siswa melalui email dan Slack, dengan satu klik dari dalam Google Sheets. Baca selengkapnya di artikel ini: Hemat waktu dengan Google Sheets, Slack & Email integrasi khusus ini

Kirim data dari Google Sheets ke Slack

Sumber: https://www.benlcollins.com/apps-script/google-apps-script-beginner-guide/

Leave a Reply

Your email address will not be published. Required fields are marked *