Menjalankan fungsi dalam project Apps Script. Project skrip harus di-deploy untuk digunakan dengan Apps Script API dan aplikasi yang memanggil harus menggunakan project Cloud Platform yang sama.
Metode ini memerlukan otorisasi dengan token OAuth 2.0 yang menyertakan setidaknya salah satu cakupan yang tercantum di bagian Otorisasi; project skrip yang tidak memerlukan otorisasi tidak dapat dieksekusi melalui API ini. Untuk menemukan cakupan yang benar untuk disertakan dalam token autentikasi, buka halaman Ringkasan project skrip dan scroll ke bawah ke "Cakupan OAuth Project".
Error 403, PERMISSION_DENIED: The caller does not have permission menunjukkan bahwa project Cloud Platform yang digunakan untuk mengizinkan permintaan tidak sama dengan project yang digunakan oleh skrip.
Permintaan HTTP
POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
URL ini menggunakan sintaksis gRPC Transcoding.
Parameter jalur
| Parameter | |
|---|---|
deploymentId |
ID deployment untuk deployment API yang Dapat Dieksekusi. Temukan ID deployment di bagian Deploy > Manage deployments di editor skrip. |
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
| Kolom | |
|---|---|
function |
Nama fungsi yang akan dijalankan dalam skrip yang diberikan. Nama tidak menyertakan tanda kurung atau parameter. Fungsi ini dapat mereferensikan fungsi di library yang disertakan seperti |
parameters[] |
Parameter yang akan diteruskan ke fungsi yang sedang dijalankan. Jenis objek untuk setiap parameter harus cocok dengan jenis yang diharapkan di Apps Script. Parameter tidak boleh berupa jenis objek khusus Apps Script (seperti |
sessionState |
Tidak digunakan lagi. Hanya untuk digunakan dengan add-on Android. ID yang mewakili sesi pengguna saat ini di aplikasi Android untuk Google Dokumen atau Spreadsheet, disertakan sebagai data tambahan dalam Intent yang meluncurkan add-on. Saat dijalankan dengan status sesi, add-on Android mendapatkan hak istimewa skrip terikat—yaitu, dapat mengakses informasi seperti posisi kursor pengguna saat ini (di Dokumen) atau sel yang dipilih (di Spreadsheet). Untuk mengambil status, panggil |
devMode |
Jika |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi eksekusi fungsi Apps Script yang dimulai dengan run. Respons eksekusi tidak akan tiba hingga fungsi selesai dieksekusi. Runtime eksekusi maksimum tercantum dalam panduan kuota Apps Script.
Setelah eksekusi dimulai, eksekusi dapat memiliki salah satu dari empat hasil berikut:
- Jika fungsi skrip berhasil ditampilkan, kolom
responseakan berisi objekExecutionResponsedengan nilai yang ditampilkan fungsi di kolomresultobjek. - Jika fungsi skrip (atau Apps Script itu sendiri) menampilkan pengecualian, kolom
errorakan berisi objekStatus. KolomdetailsobjekStatusberisi array dengan satu objekExecutionErroryang memberikan informasi tentang sifat error. - Jika eksekusi belum selesai, kolom
doneadalahfalsedan kolomresponsemaupunerrortidak ada. - Jika panggilan
runitu sendiri gagal (misalnya, karena permintaan yang salah format atau error otorisasi), metode ini akan menampilkan kode respons HTTP dalam rentang 4XX dengan format yang berbeda untuk isi respons. Library klien otomatis mengonversi respons 4XX menjadi class pengecualian.
| Representasi JSON |
|---|
{ "done": boolean, // Union field |
| Kolom | |
|---|---|
done |
Kolom ini menunjukkan apakah eksekusi skrip telah selesai. Eksekusi yang selesai memiliki kolom |
Kolom union result. Hasil operasi yang dapat berupa error atau response yang valid. Jika done == false, error atau response tidak ditetapkan. Jika done == true, hanya salah satu dari error atau response yang dapat ditetapkan. Beberapa layanan mungkin tidak memberikan hasil. result hanya dapat berupa salah satu dari hal berikut: |
|
error |
Jika panggilan |
response |
Jika fungsi skrip berhasil ditampilkan, kolom ini berisi objek Objek yang berisi kolom tipe arbitrer. Kolom tambahan |
Cakupan Otorisasi
Memerlukan salah satu cakupan OAuth berikut:
https://apps-apis.google.com/a/feedshttps://apps-apis.google.com/a/feeds/alias/https://apps-apis.google.com/a/feeds/groups/https://mail.google.com/https://sites.google.com/feedshttps://www.google.com/calendar/feedshttps://www.google.com/m8/feedshttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/dynamiccreativeshttps://www.googleapis.com/auth/formshttps://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/groupshttps://www.googleapis.com/auth/script.cpanelhttps://www.googleapis.com/auth/script.external_requesthttps://www.googleapis.com/auth/script.scriptapphttps://www.googleapis.com/auth/script.send_mailhttps://www.googleapis.com/auth/script.storagehttps://www.googleapis.com/auth/script.webapp.deployhttps://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/spreadsheets.currentonlyhttps://www.googleapis.com/auth/sqlservicehttps://www.googleapis.com/auth/userinfo.email
Untuk mendapatkan informasi selengkapnya, lihat Ringkasan OAuth 2.0.
Status
Jika panggilan run berhasil, tetapi fungsi skrip (atau Apps Script itu sendiri) memunculkan pengecualian, kolom error isi respons akan berisi objek Status ini.
| Representasi JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Kolom | |
|---|---|
code |
Kode status. Untuk API ini, nilai ini:
|
message |
Pesan error yang ditampilkan kepada developer dan disampaikan dalam bahasa Inggris. Setiap pesan error yang ditampilkan kepada pengguna dilokalkan dan dikirim di kolom |
details[] |
Array yang berisi satu objek Objek yang berisi kolom tipe arbitrer. Kolom tambahan |