خدمات Google المُدمَجة

توفّر "برمجة تطبيقات 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.getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').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);