Apps Komut Dosyası projesinde bir işlev çalıştırır. Bu komut dosyası projesi, Apps Script API ile kullanılmak üzere dağıtılmalıdır ve çağrı yapan uygulama aynı Cloud Platform projesini paylaşmalıdır.
Bu yöntem, Yetkilendirme bölümünde listelenen kapsamlardan en az birini içeren bir OAuth 2.0 jetonuyla yetkilendirme gerektirir; Yetkilendirme gerektirmeyen komut dosyası projeleri bu API aracılığıyla yürütülemez. Kimlik doğrulama jetonuna eklenecek doğru kapsamları bulmak için komut dosyası projesinin Genel Bakış sayfasını açın ve "Proje OAuth Kapsamları" bölümüne gidin.
403, PERMISSION_DENIED: The caller does not have permission
hatası, isteği yetkilendirmek için kullanılan Cloud Platform projesinin komut dosyası tarafından kullanılan projeyle aynı olmadığını gösterir.
HTTP isteği
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
Yol parametreleri
Parametreler | |
---|---|
scriptId |
Yürütülecek komut dosyasının kimliği. Komut dosyası kimliğini, Proje ayarları sayfasındaki "Kimlikler" bölümünde bulabilirsiniz. |
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:
JSON gösterimi |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
Alanlar | |
---|---|
function |
Belirtilen komut dosyasında yürütülecek işlevin adı. Ad, parantez veya parametre içermez. Dahil edilen kitaplıktaki |
parameters[] |
Yürütülmekte olan işleve aktarılacak parametreler. Her parametrenin nesne türü, Apps Komut Dosyası'nda beklenen türle eşleşmelidir. Parametreler, Apps Komut Dosyası'na özel nesne türleri (ör. |
sessionState |
Kullanımdan kaldırıldı. Yalnızca Android eklentileriyle kullanılabilir. Kullanıcının Google Dokümanlar veya E-Tablolar için Android uygulamasındaki oturumunu temsil eden ve eklentiyi başlatan Amaç'a ekstra veri olarak eklenen bir kimlik. Bir Android eklentisi oturum durumuyla çalıştırıldığında, bağlı bir komut dosyasının ayrıcalıklarını kazanır. Yani, kullanıcının geçerli imleç konumu (Dokümanlar'da) veya seçilen hücreye (E-Tablolar'da) gibi bilgilere erişebilir. Eyaleti öğrenmek için |
devMode |
|
Yanıt gövdesi
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
run
ile başlayan Apps Komut Dosyası işlevinin yürütülmesini gösteren temsil. İşlev yürütmeyi tamamlayana kadar yürütme yanıtı gelmez. Maksimum yürütme çalışma zamanı, Apps Komut Dosyası kota rehberinde listelenmiştir.
Yürütme başladıktan sonra dört sonuçtan biri elde edilebilir:
- Komut dosyası işlevi başarıyla döndürülürse
response
alanı, nesneninresult
alanında işlevin döndürdüğü değeri içeren birExecutionResponse
nesnesi içerir. - Komut dosyası işlevi (veya Apps Komut Dosyası'nın kendisi) bir istisna bildirirse
error
alanı birStatus
nesnesi içerir.Status
nesnesinindetails
alanı, hatanın yapısı hakkında bilgi sağlayan tek birExecutionError
nesnesine sahip bir dizi içerir. - Yürütme henüz tamamlanmadıysa
done
alanıfalse
olur veresponse
veyaerror
alanları mevcut değildir. -
run
çağrısının kendisi başarısız olursa (örneğin, bozuk istek veya yetkilendirme hatası nedeniyle) yöntem, 4XX aralığında yanıt gövdesi için farklı bir biçime sahip HTTP yanıt kodu döndürür. İstemci kitaplıkları, 4XX yanıtını otomatik olarak istisna sınıfına dönüştürür.
JSON gösterimi |
---|
{ "done": boolean, // Union field |
Alanlar | |
---|---|
done |
Bu alan, komut dosyası yürütme işleminin tamamlanıp tamamlanmadığını gösterir. Tamamlanmış bir yürütmede, yürütülen işlevden |
Birleştirme alanı result . İşlem sonucu (error veya geçerli bir response olabilir). done == false ise error veya response ayarlanmamıştır. done == true ise tam olarak error veya response ayarlanabilir. Bazı hizmetler sonucu sağlamayabilir. result şunlardan yalnızca biri olabilir: |
|
error |
Bir |
response |
Komut dosyası işlevi başarıyla döndürülürse bu alan, işlevin döndürdüğü değere sahip bir Rastgele türden alanlar içeren nesne. Ek bir |
Yetkilendirme Kapsamları
Aşağıdaki OAuth kapsamlarından birini gerektirir:
https://apps-apis.google.com/a/feeds
https://apps-apis.google.com/a/feeds/alias/
https://apps-apis.google.com/a/feeds/groups/
https://mail.google.com/
https://sites.google.com/feeds
https://www.google.com/calendar/feeds
https://www.google.com/m8/feeds
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/documents.currentonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/dynamiccreatives
https://www.googleapis.com/auth/forms
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/groups
https://www.googleapis.com/auth/script.cpanel
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/script.storage
https://www.googleapis.com/auth/script.webapp.deploy
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/sqlservice
https://www.googleapis.com/auth/userinfo.email
Daha fazla bilgi için OAuth 2.0 Overview (OAuth 2.0'a Genel Bakış) sayfasına göz atın.
Durum
Bir run
çağrısı başarılı olur, ancak komut dosyası işlevi (veya Apps Komut Dosyası'nın kendisi) bir istisna atarsa yanıt gövdesinin error
alanı bu Status
nesnesini içerir.
JSON gösterimi |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
Alanlar | |
---|---|
code |
Durum kodu. Bu API için bu değerden biri şudur:
|
message |
Geliştiricilere yönelik, İngilizce hata mesajı. Kullanıcıların karşılaştığı tüm hata mesajları yerelleştirilip |
details[] |
Hatanın yapısı hakkında bilgi sağlayan tek bir Rastgele türden alanlar içeren nesne. Ek bir |