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