توفر "برمجة تطبيقات Google" أكثر من 30 خدمة مدمجة للتفاعل مع بيانات المستخدمين وأنظمة Google الأخرى والأنظمة الخارجية. يتم تقديم هذه الخدمات
ككائنات عمومية تشبه كائن
Math
العادي في JavaScript. على سبيل المثال، مثلما يتم توفير طُرق في Math
، مثل random()
وثابتة مثل PI
، تقدّم خدمة جداول البيانات في "برمجة التطبيقات" طرقًا مثل openById(id)
وفئات (عناصر فرعية) مثل Range
وتعدادات مثل DataValidationCriteria
.
يتم جمع المستندات المرجعية للخدمات التي تتحكّم في Google Workspace المنتجات في قسم "Google Workspace الخدمات" ضمن العنوان "المراجع" في الشريط الجانبي من هذا الموقع الإلكتروني. يتم جمع خدمات الأدوات المساعدة (لأشياء مثل إنشاء واجهات المستخدم أو تحليل XML أو كتابة بيانات السجل) في قسم "خدمات النص البرمجي".
ميزات JavaScript الحديثة
تتوافق "برمجة التطبيقات" مع وقتَي تشغيل JavaScript: وقت تشغيل V8 الحديث وآخر قديم بدعم من مفسِّر JavaScript Rhino من Mozilla.
يتوافق وقت تشغيل V8 مع بنية ECMAScript وميزاته الحديثة. ويستند وقت تشغيل Rhino إلى معيار JavaScript 1.6 القديم بالإضافة إلى بعض الميزات من 1.7 و1.8. يمكنك حرية اختيار وقت التشغيل الذي تريد استخدامه مع النص البرمجي، ولكن يوصى بشدة باستخدام وقت التشغيل V8.
يدعم كل وقت تشغيل فئات وكائنات JavaScript المتاحة للنص البرمجي الخاص بك بالإضافة إلى خدمات Google المتقدّمة. يمكن
للنصوص البرمجية استخدام كائنات شائعة، مثل
Array
وDate
وRegExp
وغير ذلك،
بالإضافة إلى
Math
وObject
الكائنات.
استخدام ميزة "الإكمال التلقائي"
يوفر محرر النصوص البرمجية ميزة "مساعدة المحتوى" المعروفة باسم "الإكمال التلقائي" بشكل أكثر شيوعًا والتي تكشف عن الكائنات الشاملة بالإضافة إلى الطرق والتعدادات الصالحة في السياق الحالي للنص البرمجي. تظهر اقتراحات الإكمال التلقائي تلقائيًا عندما تكتب نقطة بعد كائن عمومي أو تعداد أو استدعاء طريقة يعرض فئة من "برمجة التطبيقات" مثلاً:
- إذا كتبت الاسم الكامل لكائن عمومي أو اخترت واحدًا من الإكمال التلقائي، ثم اكتب
.
(نقطة)، ستظهر لك جميع الطرق والتعدادات لهذه الفئة. - إذا كتبت بضعة أحرف، ستظهر لك جميع الاقتراحات الصالحة التي تبدأ بتلك الأحرف.
فهم الكائنات العمومية
وتوفر كل خدمة عنصرًا عالميًا واحدًا (المستوى الأعلى) على الأقل، على سبيل المثال، يتم الوصول إلى خدمة Gmail من العنصر GmailApp
فقط. توفّر بعض الخدمات كائنات عمومية متعددة، على سبيل المثال، تتضمن الخدمة الأساسية أربعة كائنات عمومية: Browser
وLogger
وMimeType
وSession
.
طرق الاتصال
تتضمن الكائنات الشاملة لكل الخدمات المدمجة أو المتقدمة تقريبًا طرقًا تعرض البيانات أو صف "برمجة تطبيقات Google". تُجري النصوص البرمجية استدعاءات الطرق بهذا التنسيق:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
على سبيل المثال، يمكن لنص برمجي إرسال رسالة إلكترونية عن طريق استدعاء طريقة
sendEmail(recipient, subject, body)
لخدمة Gmail على النحو التالي:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
إذا عرضت إحدى الطرق فئة أخرى لبرمجة التطبيقات، يمكنك سلسلة استدعاءات الطرق على سطر واحد. (يتم عرض أنواع الإرجاع في كل من ميزة "الإكمال التلقائي" وفي المستندات المرجعية
للطريقة). على سبيل المثال، تعرض الطريقة
DocumentApp.create()
Document
، وبالتالي يكون القسمان التاليان من الرمز مكافئَين:
var doc = DocumentApp.create('New document');
var body = doc.getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').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);