Mengakses dan memanipulasi publikasi dan pemicu skrip. Class ini memungkinkan pengguna membuat pemicu skrip dan mengontrol publikasi skrip sebagai layanan.
Properti
Properti | Jenis | Deskripsi |
---|---|---|
Auth | Auth | Enumerasi yang mengidentifikasi kategori layanan resmi yang dapat dijalankan Apps Script melalui fungsi yang dipicu. |
Authorization | Authorization | Enumerasi yang menunjukkan status otorisasi skrip. |
Event | Event | Enumerasi yang menunjukkan jenis peristiwa yang dipicu. |
Installation | Installation | Enumerasi yang menunjukkan cara skrip diinstal ke pengguna sebagai add-on. |
Trigger | Trigger | Enumerasi yang menunjukkan sumber peristiwa yang menyebabkan pemicu diaktifkan. |
Week | Weekday | Enumerasi yang mewakili hari dalam seminggu. |
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
delete | void | Menghapus pemicu yang ditentukan sehingga tidak lagi berjalan. |
get | Authorization | Mendapatkan objek yang memeriksa apakah pengguna telah memberikan otorisasi untuk semua persyaratan skrip. |
get | Authorization | Mendapatkan objek yang memeriksa apakah pengguna telah memberikan otorisasi untuk cakupan yang diminta. |
get | String | Mendapatkan token identitas Openopenid telah diberikan. |
get | Installation | Menampilkan nilai enum yang menunjukkan cara skrip diinstal sebagai add-on untuk pengguna saat ini (misalnya, apakah pengguna menginstalnya secara pribadi melalui Chrome Web Store, atau apakah administrator domain menginstalnya untuk semua pengguna). |
get | String | Mendapatkan token akses OAuth 2.0 untuk pengguna yang efektif. |
get | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang terkait dengan project saat ini dan pengguna saat ini. |
get | String | Mendapatkan ID unik project skrip. |
get | Service | Mendapatkan objek yang digunakan untuk mengontrol publikasi skrip sebagai aplikasi web. |
get | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam dokumen yang diberikan, hanya untuk skrip atau add-on ini. |
get | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam formulir yang diberikan, hanya untuk skrip atau add-on ini. |
get | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di spreadsheet yang diberikan, hanya untuk skrip atau add-on ini. |
invalidate | void | Membatalkan otorisasi yang dimiliki pengguna efektif untuk menjalankan skrip saat ini. |
new | State | Membuat builder untuk token status yang dapat digunakan di API callback (seperti alur OAuth). |
new | Trigger | Memulai proses pembuatan pemicu yang dapat diinstal yang, saat diaktifkan, memanggil fungsi tertentu. |
require | void | Memvalidasi apakah pengguna telah memberikan izin untuk semua cakupan yang diminta oleh skrip. |
require | void | Memvalidasi apakah pengguna telah memberikan izin untuk cakupan yang diminta. |
Dokumentasi mendetail
delete Trigger(trigger)
Menghapus pemicu yang ditentukan sehingga tidak lagi berjalan.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
trigger | Trigger | Pemicu yang akan dihapus. |
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Mendapatkan objek yang memeriksa apakah pengguna telah memberikan otorisasi untuk semua persyaratan skrip. Objek ini juga menyediakan URL otorisasi bagi pengguna untuk memberikan izin tersebut, jika ada persyaratan skrip yang tidak diotorisasi.
Beberapa eksekusi skrip dapat dimulai tanpa izin pengguna untuk semua cakupan yang diperlukan yang digunakan oleh skrip. Informasi dalam objek ini memungkinkan Anda mengontrol akses ke bagian kode yang memerlukan cakupan tertentu dan meminta otorisasi cakupan tersebut untuk eksekusi berikutnya.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
auth | Auth | Mode otorisasi yang informasi otorisasinya diminta; dalam
hampir semua kasus, nilai untuk auth harus Script , karena tidak ada mode otorisasi lain
yang mengharuskan pengguna memberikan otorisasi. |
Pulang pergi
Authorization
— Objek yang dapat memberikan informasi tentang status otorisasi pengguna.
get Authorization Info(authMode, oAuthScopes)
Mendapatkan objek yang memeriksa apakah pengguna telah memberikan otorisasi untuk cakupan yang diminta. Objek ini juga menyediakan URL otorisasi bagi pengguna untuk memberikan izin tersebut, jika salah satu cakupan yang diminta tidak diotorisasi.
Beberapa eksekusi skrip dapat dimulai tanpa izin pengguna untuk semua cakupan yang diperlukan yang digunakan oleh skrip. Informasi dalam objek ini memungkinkan Anda mengontrol akses ke bagian kode yang memerlukan cakupan tertentu dan meminta otorisasi cakupan tersebut untuk eksekusi berikutnya. Cakupan yang tidak valid atau tidak diperlukan oleh skrip akan menyebabkan error.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
auth | Auth | Mode otorisasi yang informasi otorisasinya diminta; dalam
hampir semua kasus, nilai untuk auth harus Script ,
karena tidak ada mode otorisasi lain yang mengharuskan pengguna memberikan otorisasi. |
oAuthScopes | String[] | Cakupan OAuth yang informasi otorisasinya diminta. |
Pulang pergi
Authorization
— Objek yang memberikan informasi tentang status otorisasi pengguna dan
URL otorisasi jika beberapa izin tidak ada.
get Identity Token()
Mendapatkan token identitas Openopenid
telah diberikan. Cakupan ini tidak disertakan
secara default, dan Anda harus menambahkannya sebagai cakupan eksplisit dalam file
manifes untuk memintanya. Sertakan cakupan https://www.googleapis.com/auth/userinfo.email
atau https://www.googleapis.com/auth/userinfo.profile
untuk menampilkan informasi pengguna tambahan dalam token.
Token ID yang ditampilkan adalah Token Web JSON (JWT) yang dienkode, dan harus didekode untuk mengekstrak informasi darinya. Contoh berikut menunjukkan cara mendekode token dan mengekstrak ID profil Google pengguna yang efektif.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Pulang pergi
String
— Token identitas jika tersedia; jika tidak, null
.
get Installation Source()
Menampilkan nilai enum yang menunjukkan cara skrip diinstal sebagai add-on untuk pengguna saat ini (misalnya, apakah pengguna menginstalnya secara pribadi melalui Chrome Web Store, atau apakah administrator domain menginstalnya untuk semua pengguna).
Pulang pergi
Installation
— Sumber penginstalan.
get OAuth Token()
Mendapatkan token akses OAuth 2.0 untuk pengguna yang efektif. Jika cakupan OAuth skrip sudah memadai untuk memberikan otorisasi ke Google API lain yang biasanya memerlukan alur OAuth-nya sendiri (seperti Google Picker), skrip dapat mengabaikan permintaan otorisasi kedua dengan meneruskan token ini. Masa berlaku token akan berakhir setelah beberapa waktu (minimal beberapa menit); skrip harus menangani kegagalan otorisasi dan memanggil metode ini untuk mendapatkan token baru jika diperlukan.
Token yang ditampilkan oleh metode ini hanya menyertakan cakupan yang saat ini diperlukan skrip. Cakupan yang sebelumnya diotorisasi, tetapi tidak lagi digunakan oleh skrip, tidak disertakan dalam token yang ditampilkan. Jika cakupan OAuth tambahan diperlukan di luar yang diperlukan skrip itu sendiri, cakupan tersebut dapat ditentukan dalam file manifes skrip.
Pulang pergi
String
— Representasi string token OAuth 2.0.
get Project Triggers()
Mendapatkan semua pemicu yang dapat diinstal yang terkait dengan project saat ini dan pengguna saat ini.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Pulang pergi
Trigger[]
— Array pemicu pengguna saat ini yang terkait dengan project ini.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Mendapatkan ID unik project skrip. Ini adalah metode yang lebih disukai untuk mendapatkan ID unik
untuk project skrip, bukan
. ID ini dapat digunakan di semua tempat
tempat kunci project sebelumnya diberikan.get
Pulang pergi
String
— ID project skrip.
get Service()
Mendapatkan objek yang digunakan untuk mengontrol publikasi skrip sebagai aplikasi web.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Pulang pergi
Service
— Objek yang digunakan untuk mengamati dan mengontrol publikasi skrip sebagai aplikasi web.
get User Triggers(document)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam dokumen yang diberikan, hanya untuk skrip atau add-on ini. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
document | Document | File Google Dokumen yang mungkin berisi pemicu yang dapat diinstal. |
Pulang pergi
Trigger[]
— Array pemicu yang dimiliki oleh pengguna ini dalam dokumen yang diberikan.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam formulir yang diberikan, hanya untuk skrip atau add-on ini. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
form | Form | File Google Formulir yang mungkin berisi pemicu yang dapat diinstal. |
Pulang pergi
Trigger[]
— Array pemicu yang dimiliki oleh pengguna ini dalam formulir tertentu.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di spreadsheet yang diberikan, hanya untuk skrip atau add-on ini. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
spreadsheet | Spreadsheet | File Google Spreadsheet yang mungkin berisi pemicu yang dapat diinstal. |
Pulang pergi
Trigger[]
— Array pemicu yang dimiliki oleh pengguna ini di spreadsheet tertentu.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Membatalkan otorisasi yang dimiliki pengguna efektif untuk menjalankan skrip saat ini. Digunakan untuk membatalkan izin apa pun untuk skrip saat ini. Hal ini sangat berguna untuk fungsi yang diberi tag sebagai otorisasi satu kali. Karena fungsi otorisasi satu kali hanya dapat dipanggil saat pertama kali dijalankan setelah skrip memperoleh otorisasi, jika ingin melakukan tindakan setelahnya, Anda harus mencabut otorisasi apa pun yang dimiliki skrip, sehingga pengguna dapat melihat dialog otorisasi lagi.
ScriptApp .invalidateAuth();
Menampilkan
Error
— jika pembatalan validasi gagal
new State Token()
Membuat builder untuk token status yang dapat digunakan di API callback (seperti alur OAuth).
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Di sebagian besar alur OAuth2, token state
diteruskan ke endpoint otorisasi
secara langsung (bukan sebagai bagian dari URL callback), lalu endpoint otorisasi akan meneruskannya sebagai
bagian dari URL callback.
Contoh:
- Skrip mengalihkan pengguna ke URL otorisasi OAuth2:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- Pengguna mengklik otorisasi, dan halaman otorisasi OAuth2 mengalihkan pengguna kembali ke
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Pengalihan di atas (kembali ke
http://script.google.com/...
), menyebabkan browser meminta ke/usercallback
, yang memanggil metode yang ditentukan olehState
.Token Builder.withMethod(method)
Pulang pergi
State
— Objek yang digunakan untuk melanjutkan proses pembuatan token status.
new Trigger(functionName)
Memulai proses pembuatan pemicu yang dapat diinstal yang, saat diaktifkan, memanggil fungsi tertentu.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
function | String | Fungsi yang akan dipanggil saat pemicu diaktifkan. Anda dapat menggunakan fungsi dari library yang disertakan, seperti Library.libFunction1 . |
Pulang pergi
Trigger
— Objek yang digunakan untuk melanjutkan proses pembuatan pemicu.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Memvalidasi apakah pengguna telah memberikan izin untuk semua cakupan yang diminta oleh skrip. Gunakan metode ini jika alur eksekusi mengandalkan semua cakupan yang diminta skrip. Jika izin tidak ada, metode ini akan mengakhiri eksekusi saat ini dan merender perintah otorisasi untuk meminta izin yang tidak ada.
Metode ini hanya berfungsi jika pengguna menjalankan skrip dari platform yang mendukung izin mendetail, misalnya, dari dalam IDE Apps Script. Saat skrip dijalankan tanpa izin dari platform yang tidak didukung, seperti add-on Google Workspace, skrip akan merender perintah otorisasi di awal eksekusi untuk meminta semua cakupan.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
auth | Auth | Mode otorisasi yang cakupan skripnya perlu dievaluasi, dalam hampir semua kasus, nilai untuk auth harus Script , karena tidak ada mode otorisasi lain yang mengharuskan pengguna memberikan otorisasi. |
require Scopes(authMode, oAuthScopes)
Memvalidasi apakah pengguna telah memberikan izin untuk cakupan yang diminta. Gunakan metode ini jika alur eksekusi mengandalkan satu atau beberapa layanan. Jika salah satu izin yang ditentukan tidak ada, metode ini akan mengakhiri eksekusi saat ini dan merender perintah otorisasi untuk meminta izin yang tidak ada. Cakupan yang tidak valid atau tidak diperlukan oleh skrip akan menyebabkan error.
Metode ini hanya berfungsi jika pengguna menjalankan skrip dari platform yang mendukung izin mendetail, misalnya, dari dalam IDE Apps Script. Saat skrip dijalankan tanpa izin dari platform yang tidak didukung, seperti add-on Google Workspace, skrip akan merender perintah otorisasi di awal eksekusi untuk meminta semua cakupan.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
auth | Auth | Mode otorisasi yang cakupannya diminta harus dievaluasi, dalam
hampir semua kasus, nilai untuk auth harus Script ,
karena tidak ada mode otorisasi lain yang mengharuskan pengguna memberikan otorisasi. |
oAuthScopes | String[] | Cakupan OAuth yang diperlukan untuk menyelesaikan alur eksekusi yang diberikan. |