إدارة المشروع

تسمح لك واجهة برمجة التطبيقات لبرمجة التطبيقات بإنشاء مشاريع برمجة التطبيقات وتعديلها من تطبيقك. توضّح الأمثلة في هذه الصفحة كيفية تنفيذ بعض عمليات إدارة المشاريع الشائعة باستخدام واجهة برمجة التطبيقات.

ملاحظة: يجب تفعيل واجهة برمجة التطبيقات لبرمجة التطبيقات قبل الاستخدام.

في هذه الأمثلة، يتم استخدام العناصر النائبة scriptId للإشارة إلى المكان الذي ستقدّم فيه رقم تعريف مشروع النص البرمجي. اتّبِع الخطوات التالية للعثور على معرّف النص البرمجي:

  1. في مشروع "برمجة تطبيقات Google"، انقر على إعدادات المشروع في أعلى يمين الصفحة.
  2. بجانب "رقم تعريف النص البرمجي"، انقر على نسخ.

إنشاء مشروع جديد لبرمجة التطبيقات

ينشئ طلب 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"
  }]
}