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
रिस्पॉन्स में एक कॉन्टेंट ऑब्जेक्ट होता है, जैसे कि यह:
{ "scriptId": "scriptId", "files": [{ "name": "My Script", "type": "SERVER_JS", "source": "function hello(){\nconsole.log('Hello world');}", "lastModifyUser": { "name": "Grant", "email": "grant@example.com", }, "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": "grant@example.com", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }
प्रोजेक्ट फ़ाइलें अपडेट करना
यहां दिया गया projects.updateContent रिक्वेस्ट, बताए गए स्क्रिप्ट प्रोजेक्ट के कॉन्टेंट को अपडेट करता है. इस कॉन्टेंट को HEAD वर्शन के तौर पर सेव किया जाता है. इसका इस्तेमाल तब किया जाता है, जब स्क्रिप्ट को API के तौर पर चलाए जा सकने वाले प्रोजेक्ट के तौर पर चलाया जाता है.
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": "grant@example.com", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }
रिस्पॉन्स में एक कॉन्टेंट ऑब्जेक्ट होता है, जैसे कि यह:
{ "scriptId": "scriptId", "files": [{ "name": "index", "type": "HTML", "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>", "lastModifyUser": { "name": "Grant", "email": "grant@example.com", }, "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": "grant@example.com", }, "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": "grant@example.com", }, "createTime": "2017-10-02T15:01:23.045123456Z", "updateTime": "2017-10-02T15:01:23.045123456Z" }] }