تسمح عوامل التشغيل لتطبيق Apps Script بتنفيذ دالة تلقائيًا عند وقوع حدث معيّن، مثل فتح مستند. المشغلات البسيطة هي مجموعة من الدوال المحجوزة المضمّنة في "برمجة تطبيقات Google"، مثل الدالة onOpen(e)
، التي يتم تنفيذها عندما يفتح المستخدم ملفًا في "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google".
توفّر العوامل المشغِّلة القابلة للتثبيت مزيدًا من
الإمكانات مقارنةً بالعوامل المشغِّلة البسيطة، ولكن يجب تفعيلها قبل الاستخدام. بالنسبة إلى كلا
نوعَي المشغِّلات، تُرسِل Apps Script الدالة التي تم بدء تشغيلها مع كائن حدث يحتوي على معلومات
عن السياق الذي حدث فيه الحدث.
الخطوات الأولى
لاستخدام عامل تشغيل بسيط، ما عليك سوى إنشاء دالة تستخدِم أحد أسماء الدوال التالية المُخصّصة:
- يتم تشغيل
onOpen(e)
عندما يفتح مستخدم جدول بيانات أو مستندًا أو عرضًا تقديميًا أو نموذجًا لديه إذن بتعديله. - يتم تشغيل
onInstall(e)
عندما يثبّت أحد المستخدمين إضافة محرِّر من داخل "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google". - يتمّ تشغيل
onEdit(e)
عندما يغيّر أحد المستخدِمين قيمةً في جدول بيانات. - يتم تشغيل
onSelectionChange(e)
عندما يغيّر المستخدِم الاختيار في جدول بيانات. - يتمّ تشغيل
doGet(e)
عندما يزور أحد المستخدِمين تطبيق ويب أو يُرسِل برنامج طلب HTTPGET
إلى تطبيق ويب. - يتم تشغيل
doPost(e)
عندما يرسل برنامج طلب HTTPPOST
إلى تطبيق ويب.
المَعلمة e
في أسماء الدوالّ أعلاه هي
كائن حدث يتم تمريره إلى
الدالة. يحتوي الكائن على معلومات حول السياق الذي تسبب
في اشتعال العنصر، ولكن استخدامه اختياري.
القيود
بما أنّ عوامل التفعيل البسيطة يتم تفعيلها تلقائيًا بدون طلب إذن من المستخدِم، فإنّها تخضع لعدة قيود:
- يجب أن يكون النص البرمجي مرتبطًا بملف "جداول بيانات Google" أو "العروض التقديمية من Google" أو "مستندات Google" أو "نماذج Google"، أو أن يكون إضافة توفّر ميزات إضافية في أحد هذه التطبيقات.
- ولا يتم تشغيلها إذا تم فتح ملف في وضع القراءة فقط (العرض أو التعليق).
- لا تؤدي عمليات تنفيذ النصوص البرمجية وطلبات واجهة برمجة التطبيقات إلى تشغيل المشغلات. على سبيل المثال،
يؤدي استدعاء
Range.setValue()
لتعديل خلية إلى عدم تشغيل عامل تشغيلonEdit
في جدول البيانات. - ولا يمكنهم الوصول إلى الخدمات التي تتطلب تفويضًا. على سبيل المثال، لا يمكن لمشغِّل بسيط إرسال رسالة إلكترونية لأنّ خدمة Gmail تتطلب إذنًا، ولكن يمكن لمشغِّل بسيط ترجمة عبارة باستخدام خدمة اللغات، التي تكون مجهولة المصدر.
- ويمكنه تعديل الملف المرتبط به، ولكن لا يمكنه الوصول إلى الملفات الأخرى لأنّ ذلك يتطلّب تفويضًا.
- وقد يتمكّن من تحديد هوية المستخدم الحالي أو لا يتمكّن، استنادًا إلى مجموعة معقّدة من قيود الأمان.
- ولا يمكن تشغيلها لأكثر من 30 ثانية.
- في حالات معيّنة، تُشغّل
إضافات المحرِّر عاملَي التشغيل البسيطَين
onOpen(e)
وonEdit(e)
في وضع عدم التفويض الذي يقدّم بعض التعقيدات الإضافية. لمزيد من المعلومات، يمكنك الاطّلاع على دليل دورة حياة التفويض الإضافية. - تخضع المشغّلات البسيطة لالحصص المفروضة على مشغّلات Apps Script.
لا تسري هذه القيود على doGet(e)
أو doPost(e)
.
onOpen(e)
يتم تشغيل عامل التشغيل onOpen(e)
تلقائيًا عندما يفتح مستخدم جدول بيانات أو
مستندًا أو عرضًا تقديميًا أو نموذجًا لديه إذن بتعديله. (لا يتم تشغيل
العامل عند الرد على نموذج، فقط عند فتح النموذج لتعديله.) يُستخدَم الرمز onOpen(e)
بشكل شائع لإضافة عناصر قائمة مخصّصة إلى "جداول بيانات Google" أو "العروض التقديمية من Google" أو "مستندات Google" أو
"نماذج Google".
onInstall(e)
يتم تشغيل عامل التشغيل onInstall(e)
تلقائيًا عندما يُثبِّت أحد المستخدِمين إضافة المحرِّر من داخل "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google". لن يتم تشغيل المشغّل عندما يثبِّت
مستخدم الإضافة من موقع
Google Workspace Marketplace الإلكتروني. يُرجى العِلم أنّه
تُفرض قيود معيّنة على الإجراءات التي يمكن أن يتّخذها onInstall(e)
. يمكنك الاطّلاع على مزيد من المعلومات حول
الإذن.
إنّ الاستخدام الأكثر شيوعًا لـ onInstall(e)
هو استدعاء onOpen(e)
لإضافة ملف شخصي
قوائم مخصّصة. بعد كل شيء، عند تثبيت إحدى الإضافات، يكون الملف مفتوحًا،
وبالتالي لا يتم تشغيل onOpen(e)
تلقائيًا ما لم يتم إعادة فتح الملف.
onEdit(e)
يتم تشغيل عامل التشغيل onEdit(e)
تلقائيًا عندما يغيّر مستخدم قيمة أي
خلية في جدول بيانات. تستخدِم معظم عوامل تشغيل onEdit(e)
المعلومات الواردة في
عنصر الحدث للردّ بشكلٍ مناسب.
على سبيل المثال، تحدد الدالة onEdit(e)
أدناه تعليقًا على الخلية
يسجّل آخر مرة تم تعديلها فيها.
onSelectionChange(e)
يتم تشغيل عامل التشغيل onSelectionChange(e)
تلقائيًا عندما يغيّر أحد المستخدِمين التحديد في جدول بيانات. لتفعيل هذا المشغِّل، عليك إعادة تحميل جدول البيانات بعد إضافة المشغِّل وفي كل مرة يتم فيها فتح جدول البيانات.
إذا تم نقل التحديد بين خلايا متعددة في وقت قصير، قد يتم تخطّي بعض أحداث تغيير
التحديد لتقليل وقت الاستجابة. على سبيل المثال، إذا تم إجراء العديد من التغييرات
في الاختيار خلال ثانيتَين من بعضها، لن يؤدي سوى التغييرَين الأول والثاني
في الاختيار إلى تفعيل عامل التشغيل onSelectionChange(e)
.
في المثال أدناه، إذا تم تحديد خلية فارغة، فستضبط الدالة onSelectionChange(e)
خلفية الخلية على اللون الأحمر.
doGet(e)
وdoPost(e)
يتم تشغيل عامل التشغيل doGet(e)
تلقائيًا عندما يزور مستخدم
تطبيق ويب أو يرسل برنامج طلب HTTP GET
إلى تطبيق ويب. يتم تشغيل عامل التشغيل doPost(e)
عندما يرسل برنامج طلب HTTP POST
إلى
تطبيق ويب. يتم توضيح المزيد من المعلومات عن عوامل التشغيل هذه في أدلة
تطبيقات الويب وخدمة HTML
وخدمة المحتوى. يُرجى العِلم أنّ doGet(e)
وdoPost(e)
لا يخضعان للقيود المذكورة أعلاه.
الأنواع المتاحة من المشغّلات
إذا كانت القيود المفروضة على المشغّلات البسيطة تمنع التطبيق من تلبية احتياجاتك، قد يكون مشغّل قابل للتثبيت هو الحلّ المناسب. يلخّص الجدول التالي أنواع عوامل التفعيل المتاحة لكل نوع من أنواع الأحداث. على سبيل المثال، تتيح "جداول بيانات Google" و"العروض التقديمية من Google" و"نماذج Google" و "مستندات Google" جميعها استخدام عوامل تشغيل مفتوحة بسيطة، ولكن "جداول بيانات Google" و"مستندات Google" و"نماذج Google" فقط هي التي تتيح استخدام عوامل تشغيل مفتوحة قابلة للتثبيت.
الحدث | المشغِّلات البسيطة | المشغِّلات القابلة للتثبيت |
---|---|---|
فتح |
|
|
تعديل |
|
|
تغيير الاختيار |
|
|
تثبيت |
|
|
تغيير |
|
|
إرسال النموذج |
|
|
مستندة إلى الوقت (ساعة) |
|
|
جلب |
|
|
نشر |
|
* لا يحدث حدث الفتح في "نماذج Google" عندما يفتح مستخدم ملفًا شخصيًا لتسجيل ردّ، بل عندما يفتح محرِّر النموذج لتعديله.