مدیریت پروژه

API مربوط به Apps Script به شما امکان می‌دهد پروژه‌های Apps Script را از برنامه خود ایجاد و اصلاح کنید. مثال‌های این صفحه نشان می‌دهد که چگونه می‌توان برخی از عملیات رایج مدیریت پروژه را با استفاده از API انجام داد.

توجه: API اسکریپت برنامه‌ها باید قبل از استفاده فعال شود.

در این مثال‌ها، از متغیر scriptId برای مشخص کردن محل قرار دادن شناسه پروژه اسکریپت استفاده می‌شود. برای یافتن شناسه اسکریپت، مراحل زیر را دنبال کنید:

  1. در پروژه Apps Script، در بالا سمت چپ، روی پروژه (Project Settings settings) کلیک کنید.
  2. در کنار «شناسه اسکریپت»، روی «کپی » کلیک کنید.

یک پروژه جدید 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"
  }]
}