يوفر "برمجة تطبيقات Google" أكثر من 30 خدمة مضمّنة للتفاعل مع
بيانات المستخدمين وأنظمة Google الأخرى والأنظمة الخارجية. يتم تقديم هذه الخدمات ككائنات عامة تشبه كائنات JavaScript العادية في Math
. على سبيل المثال، مثلما يعرض Math
طرقًا مثل random()
وثوابت مثل PI
، برمجة التطبيقات's
خدمة جداول البيانات توفّر طرقًا مثل
openById(id)
وفئات (كائنات فرعية) مثل
Range
، وتماثيل مثل
DataValidationCriteria
.
يتم جمع المستندات المرجعية للخدمات التي تتحكم في Google Workspace المنتجات في قسم "Google Workspace الخدمات"، ضمن "Reference";الشريط الجانبي في الشريط الجانبي لهذا الموقع. يتم جمع خدمات الأدوات (لأمور مثل إنشاء واجهات المستخدمين، أو تحليل XML، أو كتابة بيانات السجلّ) في القسم "خدمات النصوص البرمجية"؛
ميزات JavaScript الحديثة
تتيح "برمجة تطبيقات Google" استخدام وقتَي تشغيل JavaScript: أحدهما هو V8، والآخر قيد التشغيل.
يتوافق وقت تشغيل V8 مع بنية ECMAscript الحديثة وميزاتها. يعتمد وقت تشغيل Rhino على الإصدار القديم من JavaScript 1.6، بالإضافة إلى بعض الميزات من 1.7 و 1.8. يمكنك اختيار وقت التشغيل بحرية لاستخدامه مع النص البرمجي، ولكن ننصحك بشدة باستخدام وقت التشغيل V8.
يدعم كل وقت تشغيل فئات JavaScript والعناصر التي تتوفر للنص البرمجي، بالإضافة إلى خدمات Google المتقدمة والمدمجة. يمكن أن تستخدم النصوص البرمجية كائنات شائعة مثل
Array
و
Date
و
RegExp
وغير ذلك، بالإضافة إلى
Math
و
Object
الكائنات العامة.
استخدام ميزة "الإكمال التلقائي"
يوفر محرِّر النص البرمجي ميزة "ٍّ تقديريَّة&مساعِد في المحتوى"، المعروفة باسم "auto;autocomplete&"، والتي تكشف عن العناصر العامة والطُرق والإحصاءات الصالحة في السياق الحالي للنص البرمجي. تظهر اقتراحات الإكمال التلقائي تلقائيًا كلما كتبت نقطة بعد كائن عام أو تعداد أو طريقة استدعاء تؤدي إلى عرض صف برمجة التطبيقات. مثلاً:
- إذا كتبت الاسم الكامل لعنصر عام أو اختَرت عنصرًا من الإكمال التلقائي،
ثم اكتب
.
(نقطة)، سيظهر لك جميع الطرق والتعدادات لهذه الفئة. - إذا كتبت بضعة أحرف، سترى جميع الاقتراحات الصالحة التي تبدأ بتلك الأحرف.
فهم العناصر العامة
توفِّر كل خدمة عنصرًا واحدًا على الأقل في المستوى الأعلى (المستوى الأعلى)، مثلاً، يتم الوصول إلى خدمة Gmail من العنصر GmailApp
فقط. وتقدّم بعض الخدمات عدة كائنات عامة، على سبيل المثال، تشمل الخدمة الأساسية أربعة كائنات عالمية:
Browser
و
Logger
وMimeType
و
Session
.
طرق الاتصال
والكائنات العالمية لجميع الخدمات المضمّنة أو الخدمات المتقدمة تقريبًا تشمل الطرق التي تعرض البيانات أو فئة برمجة التطبيقات. تُجري النصوص البرمجية عمليات استدعاء الطريقة بهذا التنسيق:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
على سبيل المثال، يمكن للنص البرمجي إرسال رسالة إلكترونية من خلال استدعاء طريقة sendEmail(recipient, subject, body)
لخدمة Gmail، مثل:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
إذا كانت إحدى الطرق تعرض صفًا آخر في "برمجة تطبيقات Google"، يمكنك ربط سلسلة طلبات على سطر واحد. (يتم عرض أنواع الإرجاع في كل من الإكمال التلقائي وفي المستندات المرجعية لطريقة معيّنة). على سبيل المثال، تعرض الطريقة
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
.
يمكنك الوصول إلى فئة فرعية فقط من خلال طلب طريقة تعرضها. وإذا لم تكن متأكدًا من كيفية الوصول إلى صف معيّن، يمكنك الانتقال إلى الصفحة الجذر الخاصة بالمستندات المرجعية للخدمة والبحث عن طريقة لعرض الفئة التي تريدها.
التعامل مع الواجهات
تشمل بعض الخدمات دروسًا خاصة تم تصنيفها على أنّها &&;;interfaces"
في المستندات المرجعية. وتُستخدَم هذه الفئات العامة كأنواع عرض
للطرق التي لا تحدّد النوع الدقيق مسبقًا، مثل
طريقة خدمة المستندات
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);