توفّر "برمجة تطبيقات Google" أكثر من 30 خدمة مُدمجة للتفاعل مع
وبيانات المستخدم وأنظمة Google الأخرى والأنظمة الخارجية. هذه الخدمات
يتم تقديمها ككائنات عامة تشبه معيار JavaScript
Math
الخاص بك. على سبيل المثال، مثلما يقدّم Math
طرقاً مثل random()
الثوابت مثل PI
، وتمثل قيمة
تقدم خدمة جدول البيانات طرقًا مثل
openById(id)
,
الفئات (كائنات تابعة) مثل
Range
والتعدادات مثل
DataValidationCriteria
.
الوثائق المرجعية للخدمات التي تتحكم Google Workspace يتم جمع المنتجات في "Google Workspace الخدمات" ضمن "المرجع" في الشريط الجانبي لهذا الموقع. خدمات المرافق (للأشياء) مثل إنشاء واجهات المستخدم أو تحليل XML أو كتابة بيانات السجل) يتم جمعها في قسم "خدمات النص البرمجي" .
ميزات JavaScript الحديثة
تتوافق "برمجة تطبيقات Google" مع وقتَي تشغيل JavaScript: الطريقة الحديثة V8 وآخر أقدم يدعم Mozilla مترجم JavaScript لتطبيق Rhino
تتوافق بيئة تشغيل V8 مع الإصدارات الأحدث بنية ECMAScript وميزاتها. وتستند بيئة تشغيل Rhino إلى الأقدم الإصدار 1.6 من JavaScript عادي، بالإضافة إلى بعض الميزات من 1.7 1.8 يمكنك اختيار بيئة التشغيل التي تريدها بدون قيود لاستخدامه مع النص البرمجي، ولكن يُنصح بشدة باستخدام بيئة تشغيل V8.
تتوافق كل بيئة تشغيل مع فئات وكائنات JavaScript المتاحة لـ
البرنامج بالإضافة إلى الأدوات
وخدمات Google المتقدّمة
يمكن للبرامج النصية استخدام كائنات شائعة مثل
Array
،
Date
,
RegExp
,
وما إلى ذلك،
بالإضافة إلى
Math
و
Object
الكائنات العمومية.
استخدام الإكمال التلقائي
يوفر محرر النصوص البرمجية "أداة مساعدة المحتوى" الميزة، والتي يطلق عليها بشكل أكثر شيوعًا و"الإكمال التلقائي" الذي يكشف عن الكائنات العامة إلى جانب الطرق والتعدادات والصالحة في السياق الحالي للنص البرمجي تظهر اقتراحات الإكمال التلقائي. تلقائيًا عند كتابة نقطة بعد كائن أو تعداد أو طريقة عمومية ناتجًا عن فئة برمجة التطبيقات. على سبيل المثال:
- إذا كتبت الاسم الكامل لكائن عمومي أو حددت واحدًا من الإكمال التلقائي،
ثم اكتب
.
(نقطة)، وستشاهد جميع الطرق والتعدادات لهذه الفئة. - إذا كتبت بضعة أحرف، ستظهر لك جميع الأحرف الاقتراحات التي تبدأ بهذه الأحرف.
فهم الكائنات العامة
توفر كل خدمة كائنًا عموميًا واحدًا على الأقل (المستوى الأعلى)؛ على سبيل المثال،
يتم الوصول إلى خدمة 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.');
إذا عرضت طريقة فئة أخرى لبرمجة التطبيقات، يمكنك سلسلة استدعاءات الطرق على واحدة
الخط. (تظهر أنواع الإرجاع في كلٍ من الإكمال التلقائي وفي مرجع طريقة ما
documentation.) على سبيل المثال، الطريقة
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
من أجل
إنشاء هذه الفئات، كما هو ممكن مع فئات جافا سكريبت القياسية مثل
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);