اجرای توابع اسکریپت برنامه ها

Apps Script API (و قبلاً Apps Script Execution API) به شما اجازه می دهد تا از راه دور یک تابع را در پروژه اسکریپتی که به آن دسترسی دارید اجرا کنید. برنامه شما می تواند یک تابع Apps Script داده شده را فراخوانی کند و در صورت نیاز پارامترهای ورودی را به آن ارائه دهد و یک پاسخ برگشتی دریافت کند.

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

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

  1. در پروژه Apps Script، در بالا سمت راست، روی تنظیمات پروژه کلیک کنید.
  2. در کنار «شناسه اسکریپت»، روی « کپی » کلیک کنید.

یک تابع را اجرا کنید

درخواست scripts.run زیر یک تابع Apps Script به نام listFolderContent فراخوانی می کند و آن را به folderId Drive و یک عدد صحیح MAX_SIZE به عنوان آرگومان ارسال می کند. این تابع در حالت توسعه اجرا می شود، به این معنی که آخرین نسخه ذخیره شده تابع اجرا می شود، صرف نظر از اینکه چه نسخه ای به عنوان یک فایل اجرایی مستقر شده است.

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

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

پاسخ به این درخواست، پس از تکمیل تابع Apps Script فراخوانی شده، حاوی نتایج اجرا یا پاسخ خطا است. در این مثال، تابع با موفقیت آرایه ای از نام فایل ها را برمی گرداند:

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

اگر عملکرد در حین اجرای Apps Script با خطا مواجه شد، پاسخ می تواند به شکل زیر باشد:

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}