Mengakses dan memanipulasi publikasi dan pemicu skrip. Class ini memungkinkan pengguna membuat skrip memicu dan mengontrol publikasi skrip sebagai layanan.
Properti
Properti | Jenis | Deskripsi |
---|---|---|
AuthMode | AuthMode | Enumerasi yang mengidentifikasi kategori layanan yang diizinkan yang dapat dilakukan Apps Script mengeksekusi melalui fungsi yang dipicu. |
AuthorizationStatus | AuthorizationStatus | Enumerasi yang menunjukkan status otorisasi skrip. |
EventType | EventType | Enumerasi yang menunjukkan jenis peristiwa yang dipicu. |
InstallationSource | InstallationSource | Enumerasi yang menunjukkan cara skrip diinstal ke pengguna sebagai add-on. |
TriggerSource | TriggerSource | Enumerasi yang menunjukkan sumber peristiwa yang menyebabkan pemicu diaktifkan. |
WeekDay | Weekday | Enumerasi yang mewakili hari dalam seminggu. |
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
deleteTrigger(trigger) | void | Menghapus pemicu yang diberikan agar tidak lagi berjalan. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Mendapatkan objek yang digunakan untuk menentukan apakah pengguna perlu mengizinkan skrip ini untuk menggunakan salah satu lebih banyak layanan, dan untuk menyediakan URL untuk dialog otorisasi. |
getIdentityToken() | String | Mendapatkan token identitas OpenID Connect untuk
efektif, jika cakupan openid telah diberikan. |
getInstallationSource() | InstallationSource | Menampilkan nilai enum yang menunjukkan bagaimana skrip diinstal sebagai add-on untuk pengguna saat ini (misalnya, apakah pengguna menginstalnya secara pribadi melalui Chrome Web Store Store, atau apakah administrator domain menginstalnya untuk semua pengguna). |
getOAuthToken() | String | Mendapatkan akses OAuth 2.0 token untuk pengguna yang efektif. |
getProjectTriggers() | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang terkait dengan project saat ini dan pengguna saat ini. |
getScriptId() | String | Mendapatkan ID unik project skrip. |
getService() | Service | Mendapatkan objek yang digunakan untuk mengontrol publikasi skrip sebagai aplikasi web. |
getUserTriggers(document) | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di dokumen yang ditentukan, untuk skrip ini atau add-on saja. |
getUserTriggers(form) | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam formulir tertentu, untuk skrip atau add-on ini saja. |
getUserTriggers(spreadsheet) | Trigger[] | Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di spreadsheet yang ditentukan, untuk skrip ini atau add-on saja. |
invalidateAuth() | void | Membatalkan otorisasi yang dimiliki pengguna efektif untuk mengeksekusi skrip saat ini. |
newStateToken() | StateTokenBuilder | Membuat builder untuk token status yang dapat digunakan di callback API (seperti alur OAuth). |
newTrigger(functionName) | TriggerBuilder | Memulai proses pembuatan pemicu yang dapat diinstal yang, saat diaktifkan, memanggil fungsi tertentu. |
Dokumentasi mendetail
deleteTrigger(trigger)
Menghapus pemicu yang diberikan agar tidak lagi berjalan.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var 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
getAuthorizationInfo(authMode)
Mendapatkan objek yang digunakan untuk menentukan apakah pengguna perlu mengizinkan skrip ini untuk menggunakan salah satu lebih banyak layanan, dan untuk menyediakan URL untuk dialog otorisasi. Jika skrip dipublikasikan sebagai add-on yang menggunakan pemicu yang dapat diinstal, informasi ini dapat digunakan untuk mengontrol akses ke bagian-bagian kode di mana pengguna tidak memiliki otorisasi. Atau, add-on dapat meminta pengguna membuka URL otorisasi untuk mengatasi masalah.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
authMode | AuthMode | mode otorisasi yang meminta informasi otorisasi; inci
hampir semua kasus, nilai untuk authMode harus ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , karena tidak ada mode otorisasi lain
mengharuskan pengguna memberikan otorisasi |
Pulang pergi
AuthorizationInfo
— objek yang dapat memberikan informasi tentang status otorisasi pengguna
getIdentityToken()
Mendapatkan token identitas OpenID Connect untuk
efektif, jika cakupan openid
telah diberikan. Cakupan ini tidak disertakan
secara default, dan Anda harus menambahkannya sebagai cakupan eksplisit dalam manifes
untuk memintanya. Sertakan cakupan https://www.googleapis.com/auth/userinfo.email
atau https://www.googleapis.com/auth/userinfo.profile
untuk menampilkan
informasi pengguna dalam token.
Token ID yang ditampilkan adalah JSON Web Token (JWT) yang dienkode, dan kode itu harus didekode untuk mengekstrak informasinya. Contoh berikut menunjukkan cara mendekode token dan mengekstrak ID profil Google pengguna yang efektif.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);Lihat OpenID Connect dokumentasi untuk daftar lengkap kolom (klaim) yang ditampilkan.
Pulang pergi
String
— Token identitas jika tersedia; jika tidak, null
.
getInstallationSource()
Menampilkan nilai enum yang menunjukkan bagaimana skrip diinstal sebagai add-on untuk pengguna saat ini (misalnya, apakah pengguna menginstalnya secara pribadi melalui Chrome Web Store Store, atau apakah administrator domain menginstalnya untuk semua pengguna).
Pulang pergi
InstallationSource
— Sumber penginstalan.
getOAuthToken()
Mendapatkan akses OAuth 2.0 token untuk pengguna yang efektif. Jika cakupan OAuth skrip cukup untuk memberi otorisasi 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 diizinkan tetapi tidak lagi digunakan oleh skrip tidak termasuk dalam token yang ditampilkan. Jika cakupan OAuth tambahan diperlukan di luar apa yang skrip itu sendiri diperlukan, parameter tersebut dapat ditentukan dalam manifes.
Pulang pergi
String
— Representasi string dari token OAuth 2.0.
getProjectTriggers()
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
getScriptId()
Mendapatkan ID unik project skrip. Ini adalah metode yang disarankan untuk mendapatkan ID unik
untuk project skrip, bukan
. ID ini dapat digunakan di semua tempat
di mana kunci proyek telah diberikan sebelumnya.getProjectKey()
Pulang pergi
String
— ID project skrip.
getService()
Mendapatkan objek yang digunakan untuk mengontrol publikasi skrip sebagai aplikasi web.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Pulang pergi
Service
— Objek yang digunakan untuk mengamati dan mengontrol publikasi skrip sebagai aplikasi web.
getUserTriggers(document)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di dokumen yang ditentukan, untuk skrip ini atau add-on saja. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
var doc = DocumentApp.getActiveDocument(); var 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 di dokumen tertentu.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini dalam formulir tertentu, untuk skrip atau add-on ini saja. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
var form = FormApp.getActiveForm(); var 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
getUserTriggers(spreadsheet)
Mendapatkan semua pemicu yang dapat diinstal yang dimiliki oleh pengguna ini di spreadsheet yang ditentukan, untuk skrip ini atau add-on saja. Metode ini tidak dapat digunakan untuk melihat pemicu yang dilampirkan ke skrip lain.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var 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 Sheets 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
invalidateAuth()
Membatalkan otorisasi yang dimiliki pengguna efektif untuk mengeksekusi skrip saat ini. Digunakan untuk membatalkan izin apa pun untuk skrip saat ini. Hal ini sangat berguna untuk fungsi diberi tag sebagai otorisasi satu kali. Karena fungsi otorisasi satu kali hanya bisa disebut sebagai pertama kali dijalankan setelah skrip memperoleh otorisasi, jika Anda ingin melakukan tindakan setelah itu, Anda harus mencabut otorisasi apa pun yang dimiliki skrip, sehingga pengguna dapat melihat dialog otorisasi lagi.
ScriptApp.invalidateAuth();
Menampilkan
Error
— jika pembatalan validasi gagal
newStateToken()
Membuat builder untuk token status yang dapat digunakan di callback API (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. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var 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), dan endpoint otorisasi kemudian meneruskannya sebagai
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 permintaan ke/usercallback
, yang memanggil metode yang ditentukan olehStateTokenBuilder.withMethod(method)
.
Pulang pergi
StateTokenBuilder
— Objek yang digunakan untuk melanjutkan proses pembuatan token status.
newTrigger(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 |
---|---|---|
functionName | String | Fungsi yang akan dipanggil saat pemicu diaktifkan. Anda dapat menggunakan
{i>function <i}dari
library yang disertakan, seperti Library.libFunction1 . |
Pulang pergi
TriggerBuilder
— Objek yang digunakan untuk melanjutkan proses build pemicu.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.scriptapp