إدارة مشاريع إنشاء الطرق

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

لاستخدام واجهة برمجة التطبيقات، يجب أولاً تفعيلها.

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

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

إنشاء مشروع جديد في "برمجة تطبيقات 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"
  }]
}