Apps Script प्रोजेक्ट में मौजूद किसी फ़ंक्शन को चलाता है. स्क्रिप्ट प्रोजेक्ट को Apps Script API के साथ इस्तेमाल करने के लिए डिप्लॉय किया जाना चाहिए. साथ ही, कॉलिंग ऐप्लिकेशन को एक ही Cloud Platform प्रोजेक्ट शेयर करना चाहिए.
इस तरीके के लिए, OAuth 2.0 टोकन से अनुमति लेना ज़रूरी है. इसमें अनुमति सेक्शन में दिए गए स्कोप में से कम से कम एक स्कोप शामिल होना चाहिए. जिन स्क्रिप्ट प्रोजेक्ट के लिए अनुमति लेना ज़रूरी नहीं है उन्हें इस एपीआई के ज़रिए नहीं चलाया जा सकता. पुष्टि करने वाले टोकन में शामिल करने के लिए सही स्कोप ढूंढने के लिए, स्क्रिप्ट प्रोजेक्ट का खास जानकारी पेज खोलें और नीचे की ओर स्क्रोल करके "प्रोजेक्ट के OAuth स्कोप" पर जाएं.
गड़बड़ी 403, PERMISSION_DENIED: The caller does not have permission से पता चलता है कि अनुरोध की पुष्टि करने के लिए इस्तेमाल किया गया Cloud Platform प्रोजेक्ट, स्क्रिप्ट के लिए इस्तेमाल किए गए प्रोजेक्ट से अलग है.
एचटीटीपी अनुरोध
POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
यह यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
पाथ पैरामीटर
| पैरामीटर | |
|---|---|
deploymentId | 
                
                   
 लागू किए जा सकने वाले एपीआई के डिप्लॉयमेंट का आईडी. स्क्रिप्ट एडिटर में, तैनात करें > डिप्लॉयमेंट मैनेज करें में जाकर, डिप्लॉयमेंट आईडी ढूंढें.  | 
              
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
| JSON के काेड में दिखाना | 
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean }  | 
                
| फ़ील्ड | |
|---|---|
function | 
                  
                     
 दी गई स्क्रिप्ट में जिस फ़ंक्शन को लागू करना है उसका नाम. नाम में कोष्ठक या पैरामीटर शामिल नहीं हैं. यह शामिल की गई लाइब्रेरी में मौजूद किसी फ़ंक्शन को रेफ़रंस कर सकता है. जैसे,   | 
                
parameters[] | 
                  
                     
 फ़ंक्शन को एक्ज़ीक्यूट करने के लिए पास किए जाने वाले पैरामीटर. हर पैरामीटर के लिए ऑब्जेक्ट टाइप, Apps Script में मौजूद टाइप से मेल खाना चाहिए. पैरामीटर, Apps Script के खास ऑब्जेक्ट टाइप (जैसे कि   | 
                
sessionState | 
                  
                     
 अब सेवा में नहीं है. सिर्फ़ Android ऐड-ऑन के साथ इस्तेमाल करने के लिए. यह एक ऐसा आईडी है जो Google Docs या Sheets के Android ऐप्लिकेशन में उपयोगकर्ता के मौजूदा सेशन को दिखाता है. इसे ऐड-ऑन लॉन्च करने वाले Intent में अतिरिक्त डेटा के तौर पर शामिल किया जाता है. जब किसी Android ऐड-ऑन को सेशन की स्थिति के साथ चलाया जाता है, तो उसे बाउंड स्क्रिप्ट के विशेषाधिकार मिलते हैं. इसका मतलब है कि वह उपयोगकर्ता की मौजूदा कर्सर की पोज़िशन (Docs में) या चुनी गई सेल (Sheets में) जैसी जानकारी को ऐक्सेस कर सकता है. स्टेट को वापस पाने के लिए,   | 
                
devMode | 
                  
                     
 अगर   | 
                
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
run से शुरू किए गए Apps Script फ़ंक्शन के एक्ज़ीक्यूशन का उदाहरण. फ़ंक्शन के पूरा होने तक, एक्ज़ीक्यूशन का जवाब नहीं मिलता. स्क्रिप्ट को चलाने के लिए ज़्यादा से ज़्यादा समय, Apps Script के कोटा गाइड में दिया गया है. 
लागू होने के बाद, इसके चार में से कोई एक नतीजा मिल सकता है:
-  अगर स्क्रिप्ट फ़ंक्शन सही तरीके से काम करता है, तो 
responseफ़ील्ड मेंExecutionResponseऑब्जेक्ट होता है. इसमें फ़ंक्शन की रिटर्न वैल्यू, ऑब्जेक्ट केresultफ़ील्ड में होती है. -  अगर स्क्रिप्ट फ़ंक्शन (या Apps Script) कोई गड़बड़ी दिखाता है, तो 
errorफ़ील्ड मेंStatusऑब्जेक्ट होता है.Statusऑब्जेक्ट केdetailsफ़ील्ड में एक ऐसा कलेक्शन होता है जिसमें एकExecutionErrorऑब्जेक्ट होता है. इससे गड़बड़ी के बारे में जानकारी मिलती है. -  अगर अब तक कार्रवाई पूरी नहीं हुई है, तो 
doneफ़ील्ड की वैल्यूfalseहोगी. साथ ही,responseऔरerrorफ़ील्ड मौजूद नहीं होंगे. -  अगर 
runकॉल ही पूरा नहीं होता है (उदाहरण के लिए, गलत फ़ॉर्मैट वाले अनुरोध या अनुमति से जुड़ी गड़बड़ी की वजह से), तो यह तरीका, 4XX रेंज में एचटीटीपी रिस्पॉन्स कोड दिखाता है. साथ ही, रिस्पॉन्स बॉडी के लिए अलग फ़ॉर्मैट का इस्तेमाल करता है. क्लाइंट लाइब्रेरी, 4XX जवाब को अपने-आप अपवाद क्लास में बदल देती हैं. 
| JSON के काेड में दिखाना | 
|---|
{ "done": boolean, // Union field  | 
                  
| फ़ील्ड | |
|---|---|
done | 
                    
                       
 इस फ़ील्ड से पता चलता है कि स्क्रिप्ट का एक्ज़ीक्यूशन पूरा हो गया है या नहीं. पूरे हो चुके एक्ज़ीक्यूशन में,   | 
                  
यूनियन फ़ील्ड result. कार्रवाई का नतीजा, जो error या मान्य response हो सकता है. अगर वैल्यू done == false है, तो न तो error और न ही response सेट है. अगर वैल्यू done == true है, तो error या response में से सिर्फ़ एक को सेट किया जा सकता है. ऐसा हो सकता है कि कुछ सेवाएं, नतीजे न दिखाएं. result इनमें से सिर्फ़ एक हो सकता है: | 
                  |
error | 
                    
                       
 अगर   | 
                  
response | 
                    
                       
 अगर स्क्रिप्ट फ़ंक्शन सही तरीके से काम करता है, तो इस फ़ील्ड में  एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड   | 
                  
अनुमति पाने के लिंक
इसके लिए, इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:
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
ज़्यादा जानकारी के लिए, OAuth 2.0 के बारे में खास जानकारी देखें.
स्थिति
अगर run कॉल पूरा हो जाता है, लेकिन स्क्रिप्ट फ़ंक्शन (या Apps Script) कोई अपवाद दिखाता है, तो जवाब के मुख्य हिस्से के error फ़ील्ड में यह Status ऑब्जेक्ट शामिल होता है.
| JSON के काेड में दिखाना | 
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] }  | 
              
| फ़ील्ड | |
|---|---|
code | 
                
                   
 स्टेटस कोड. इस एपीआई के लिए, यह वैल्यू इनमें से कोई एक होती है: 
  | 
              
message | 
                
                   
 डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में है. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में होना चाहिए. साथ ही, उसे   | 
              
details[] | 
                
                   
 यह एक ऐसा कलेक्शन होता है जिसमें एक  एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड   |