مدیریت پروژه

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

برای استفاده از API، ابتدا باید آن را فعال کنید .

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

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