مدیریت پروژه

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

توجه: Apps Script API باید قبل از استفاده فعال باشد.

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

  1. در پروژه Apps Script، در بالا سمت راست، روی تنظیمات پروژه کلیک کنید.
  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

پاسخ شامل یک شی 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"
  }]
}

پاسخ شامل یک شی 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"
  }]
}