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
responsealanı, nesneninresultalanında işlevin döndürdüğü değeri içeren birExecutionResponsenesnesi içerir. - Komut dosyası işlevi (veya Apps Komut Dosyası'nın kendisi) bir istisna bildirirse
erroralanı birStatusnesnesi içerir.Statusnesnesinindetailsalanı, hatanın yapısı hakkında bilgi sağlayan tek birExecutionErrornesnesine sahip bir dizi içerir. - Yürütme henüz tamamlanmadıysa
donealanıfalseolur veresponseveyaerroralanları 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/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
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 |