Apps Script API की मदद से, अपने ऐप्लिकेशन से Apps Script प्रोजेक्ट बनाए और उनमें बदलाव किए जा सकते हैं. इस पेज पर दिए गए उदाहरणों से पता चलता है कि एपीआई की मदद से, प्रोजेक्ट मैनेजमेंट से जुड़ी कुछ सामान्य कार्रवाइयां कैसे की जा सकती हैं.
ध्यान दें: Apps Script API का इस्तेमाल करने से पहले, इसे चालू करना ज़रूरी है.
इन उदाहरणों में, scriptId प्लेसहोल्डर का इस्तेमाल यह दिखाने के लिए किया गया है कि आपको स्क्रिप्ट प्रोजेक्ट आईडी कहां देना है. स्क्रिप्ट आईडी ढूंढने के लिए, यहां दिया गया तरीका अपनाएं:
- Apps Script प्रोजेक्ट में, सबसे ऊपर बाईं ओर मौजूद प्रोजेक्ट सेटिंग पर क्लिक करें.
- "स्क्रिप्ट आईडी" के बगल में मौजूद, कॉपी करें पर क्लिक करें.
नया Apps Script प्रोजेक्ट बनाना
projects.create अनुरोध का इस्तेमाल करके, नई स्टैंडअलोन स्क्रिप्ट बनाई जा सकती है.
POST https://scriptmanagement.googleapis.com/v1/projects/
{
"title": "My Script"
}प्रोजेक्ट का मेटाडेटा वापस पाना
यहां दिए गए projects.get अनुरोध से, स्क्रिप्ट के प्रोजेक्ट का मेटाडेटा मिलता है.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId
जवाब में, इस तरह का ऑब्जेक्ट शामिल होता है:
{
"scriptId": "scriptId",
"title": "My Title",
"parentId": "parentId",
"createTime": "2017-10-02T15:01:23.045123456Z",
"updateTime": "2017-10-02T15:01:23.045123456Z",
"creator": { "name": "Grant" },
"lastModifyUser": { "name": "Grant" },
}प्रोजेक्ट फ़ाइलें वापस पाना
projects.getContent के लिए किए गए इस अनुरोध से, स्क्रिप्ट प्रोजेक्ट का कॉन्टेंट मिलता है. इसमें कोड सोर्स और हर स्क्रिप्ट फ़ाइल का मेटाडेटा शामिल होता है.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content
रिस्पॉन्स में, Content ऑब्जेक्ट होता है. जैसे:
{ "scriptId": "scriptId", "files": [{ "name": "My Script", "type": "SERVER_JS", "source": "function hello(){\nconsole.log('Hello world');}", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z", "functionSet": { "values": [ "name": "helloWorld" ] } }, { "name": "appsscript", "type": "JSON", "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }
प्रोजेक्ट फ़ाइलें अपडेट करना
नीचे दिया गया projects.updateContent अनुरोध, तय किए गए स्क्रिप्ट प्रोजेक्ट के कॉन्टेंट को अपडेट करता है. इस कॉन्टेंट को HEAD वर्शन के तौर पर सेव किया जाता है. इसका इस्तेमाल तब किया जाता है, जब स्क्रिप्ट को एपीआई के तौर पर एक्ज़ीक्यूटेबल प्रोजेक्ट के तौर पर चलाया जाता है.
PUT https://scriptmanagement.googleapis.com/v1/projects/scriptID/content
{ "files": [{ "name": "index", "type": "HTML", "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>" }, { "name": "My Script", "type": "SERVER_JS", "source": "function hello(){\nconsole.log('Hello world');}", }, { "name": "appsscript", "type": "JSON", "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }
रिस्पॉन्स में, Content ऑब्जेक्ट होता है. जैसे:
{ "scriptId": "scriptId", "files": [{ "name": "index", "type": "HTML", "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }, { "name": "My Script", "type": "SERVER_JS", "source": "function hello(){\nconsole.log('Hello world');}", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z", "functionSet": { "values": [ "name": "helloWorld" ] } }, { "name": "appsscript", "type": "JSON", "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}", "lastModifyUser": { "name": "Grant", "email": "[email protected]", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }