تنفيذ وظائف برمجة التطبيقات

تتيح لك واجهة برمجة التطبيقات لبرمجة التطبيقات (المعروفة سابقًا باسم Apps Script Execution API) تنفيذ وظيفة عن بُعد في مشروع نص برمجي يمكنك الوصول إليه. يمكن لتطبيقك استدعاء دالة معيّنة لبرمجة التطبيقات، مع توفير معلَمات إدخال عند الحاجة، وتلقّي استجابة معروضة.

توضح الأمثلة في هذه الصفحة كيف يمكن تنفيذ بعض عمليات التنفيذ الشائعة باستخدام واجهة برمجة التطبيقات. لمزيد من المعلومات بما في ذلك متطلبات التفويض الخاصة، راجع دليل تنفيذ وظيفة.

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

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

تنفيذ وظيفة

يستدعي طلب scripts.run التالي دالة "برمجة تطبيقات Google" المسماة listFolderContent، مع تمريرها folderId إلى Drive وعدد صحيح MAX_SIZE كوسيطات. يتم تنفيذ الدالة في وضع التطوير، مما يعني أنه يتم تنفيذ أحدث إصدار حفظ للدالة، بغض النظر عن الإصدار الذي تم نشره كملف تنفيذي.

يظهر بروتوكول الطلب أدناه. يعرض دليل تنفيذ الدوال كيفية تنفيذ طلب تشغيل بلغات مختلفة باستخدام مكتبات عملاء Google API.

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

يحتوي الاستجابة على هذا الطلب، بعد اكتمال وظيفة "برمجة التطبيقات"، على نتائج التنفيذ أو استجابة الخطأ. في هذا المثال، تُرجع الدالة بنجاح صفيفًا من أسماء الملفات:

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

إذا واجهت الدالة خطأً أثناء تنفيذ برمجة التطبيقات، يمكن أن يبدو الرد على النحو التالي:

{
  "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
        }]
      }]
    }
  }
}