تتيح لك واجهة برمجة التطبيقات Apps Script إنشاء مشاريع Apps Script وتعديلها من تطبيقك. توضّح الأمثلة الواردة في هذه الصفحة كيفية تنفيذ بعض عمليات إدارة المشاريع الشائعة باستخدام واجهة برمجة التطبيقات.
ملاحظة: يجب تفعيل واجهة برمجة التطبيقات Apps Script قبل استخدامها.
في هذه الأمثلة، يتم استخدام العنصر النائب scriptId للإشارة إلى المكان الذي ستوفّر فيه رقم تعريف مشروع البرنامج النصي. اتّبِع الخطوات التالية للعثور على معرّف النص البرمجي:
- في مشروع Apps Script، انقر في أعلى يمين الصفحة على إعدادات المشروع .
- بجانب "معرّف البرنامج النصي"، انقر على نسخ.
إنشاء مشروع جديد في "برمجة تطبيقات Google"
ينشئ طلب 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": "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، ويتم استخدامه عند تنفيذ النص البرمجي كمشروع قابل للتنفيذ في واجهة برمجة التطبيقات.
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" }] }
يتألف الردّ من عنصر 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": "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" }] }