توفّر خدمة "برمجة تطبيقات Google" أكثر من 30 خدمة مضمّنة للتفاعل مع بيانات المستخدمين وأنظمة Google الأخرى والأنظمة الخارجية. يتم توفير هذه الخدمات كعناصر عامة مشابهة لعنصر Math
العادي في JavaScript. على سبيل المثال، كما يوفّر Math
طرقًا مثل random()
وثوابت مثل PI
، يوفّر خدمة جداول بيانات في Apps Script طرقًا مثل openById(id)
وفئات (عناصر فرعية) مثل Range
وقيم تعدادية مثل DataValidationCriteria
.
يتم جمع المستندات المرجعية للخدمات التي تتحكّم في منتجاتGoogle Workspace في قسم "خدماتGoogle Workspace " ضمن العنوان "مرجع" في الشريط الجانبي لهذا الموقع الإلكتروني. يتم جمع خدمات الأدوات المساعدة (مثل إنشاء واجهات المستخدم أو تحليل XML أو كتابة بيانات السجلّ) في قسم "خدمات البرامج النصية".
ميزات JavaScript الحديثة
تتوافق Apps Script مع وقتَي تشغيل JavaScript: وقت التشغيل الحديث V8 ووقت التشغيل القديم الذي يعتمد على مفسّر Rhino JavaScript من Mozilla.
يتوافق وقت التشغيل V8 مع بنية ECMAScript وميزاتها الحديثة. يستند وقت تشغيل Rhino إلى معيار JavaScript 1.6 الأقدم، بالإضافة إلى بعض الميزات من 1.7 و 1.8. يمكنك اختيار وقت التشغيل الذي تريده لاستخدامه مع البرنامج النصي، ولكن ننصحك بشدة باستخدام وقت تشغيل V8.
يتيح كل وقت تشغيل فئات JavaScript وعناصرها المتاحة للبرنامج النصي بالإضافة إلى خدمات Google المتقدّمة المضمّنة. يمكن أن تستخدم النصوص البرمجية كائنات شائعة، مثل Array
وDate
وRegExp
ووما إلى ذلك، بالإضافة إلى الكائنَين العامَين Math
وObject
.
استخدام ميزة "الإكمال التلقائي"
يوفّر محرِّر النصوص البرمجية ميزة "مساعدة في المحتوى"، والتي تُعرف باسم "الإكمال التلقائي"، وتكشف عن العناصر العامة بالإضافة إلى الطرق والتعدادات الصالحة في السياق الحالي للنص البرمجي. تظهر اقتراحات الإكمال التلقائي تلقائيًا عند كتابة نقطة بعد كائن عام أو تعداد أو استدعاء طريقة تعرض فئة Apps Script. على سبيل المثال:
- إذا كتبت الاسم الكامل لعنصر عام أو اخترت عنصرًا من الإكمال التلقائي، ثم كتبت
.
(نقطة)، ستظهر لك جميع الطرق والقيم الثابتة لهذا الصف. - إذا كتبت بضعة أحرف، ستظهر لك كل الاقتراحات الصالحة التي تبدأ بهذه الأحرف.
فهم العناصر العامة
تقدّم كل خدمة عنصرًا واحدًا على الأقل على مستوى العالم (المستوى الأعلى)، على سبيل المثال، لا يمكن الوصول إلى خدمة Gmail إلا من خلال العنصر GmailApp
. تقدّم بعض الخدمات عدة عناصر عامة، مثلاً، تتضمّن الخدمة الأساسية أربعة عناصر عامة: Browser
وLogger
وMimeType
وSession
.
طُرق الاتصال
تتضمّن الكائنات العامة لجميع الخدمات المتقدّمة أو المضمّنة تقريبًا طرقًا تعرض بيانات أو فئة من فئات Apps Script. تجري النصوص البرمجية عمليات استدعاء الطرق بهذا التنسيق:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
على سبيل المثال، يمكن لنص برمجي إرسال رسالة إلكترونية من خلال استدعاء طريقة sendEmail(recipient, subject, body)
الخاصة بخدمة Gmail على النحو التالي:
GmailApp.sendEmail('[email protected]', 'Subject line', 'This is the body.');
إذا عرضت إحدى الطرق فئة أخرى من فئات "برمجة التطبيقات"، يمكنك ربط استدعاءات الطرق في سطر واحد. (يتم عرض أنواع الإرجاع في كلّ من الإكمال التلقائي وفي مستندات مرجع الطريقة). على سبيل المثال، تعرض الطريقة DocumentApp.create()
القيمة Document
، وبالتالي، فإنّ القسمَين التاليَين من الرمز البرمجي متكافئان:
var doc = DocumentApp.create('New document'); var body = doc.getTab('t.0').asDocumentTab().getBody(); body.appendParagraph('New paragraph.'); // Same result as above. DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody() .appendParagraph('New paragraph.');
الوصول إلى صفوف الأطفال
تتضمّن كل خدمة فئة فرعية واحدة أو أكثر لا يمكن الوصول إليها من المستوى الأعلى كما يمكن الوصول إلى عنصر عام. لا يمكنك استخدام الكلمة الأساسية new
لإنشاء هذه الفئات، كما يمكنك مع فئات JavaScript العادية مثل Date
؛ يمكنك فقط الوصول إلى فئة فرعية من خلال استدعاء طريقة تعرضها. إذا لم تكن متأكدًا من كيفية الوصول إلى فئة معيّنة، انتقِل إلى صفحة الجذر الخاصة بالمستندات المرجعية للخدمة وابحث عن طريقة تعرض الفئة التي تريدها.
التعامل مع الواجهات
تتضمّن بعض الخدمات فئات خاصة تحمل التصنيف "واجهات" في المستندات المرجعية. هذه فئات عامة تُستخدَم كأنواع إرجاع للطُرق التي لا يمكنها تحديد النوع الدقيق مسبقًا، على سبيل المثال، تعرض طريقة خدمة المستندات Body.getChild(childIndex)
كائن Element
عام. Element
هي واجهة تمثّل فئة أخرى، ربما تكون Paragraph
أو Table
. ونادرًا ما تكون عناصر الواجهة مفيدة بمفردها، بل تحتاج عادةً إلى استدعاء طريقة مثل Element.asParagraph()
لتحويل العنصر مرة أخرى إلى فئة دقيقة.
العمل باستخدام التعدادات
تتضمّن معظم الخدمات بعض القيم الثابتة (أنواع تعدادية) للقيم المسماة. على سبيل المثال، تستخدم خدمة Drive القيمتين Access
و Permission
لتحديد المستخدمين الذين يمكنهم الوصول إلى ملف أو مجلد. في جميع الحالات تقريبًا، يمكنك الوصول إلى هذه القيم الثابتة من العنصر العام. على سبيل المثال، تبدو الدعوة إلى الطريقة Folder.setSharing(accessType, permissionType)
على النحو التالي:
// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can // prohibit this setting for Google Workspace users.) var folder = DriveApp.createFolder('Shared Folder'); folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);