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

تتيح لك واجهة برمجة التطبيقات لبرمجة تطبيقات Google (المعروفة سابقًا باسم واجهة برمجة التطبيقات لتنفيذ برمجة تطبيقات Google) تنفيذ دالة عن بُعد في مشروع نص برمجي يمكنك الوصول إليه. يمكن لتطبيقك استدعاء دالة معيّنة في "برمجة تطبيقات Google"، وتزويدها بمعلمات الإدخال إذا لزم الأمر، وتلقّي ردّ.

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

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

  1. في مشروع Apps Script، انقر في أعلى يمين الصفحة على إعدادات المشروع .
  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
}

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

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