تتيح لك خدمة "مستندات Google" المتقدّمة استخدام Google Docs API في Apps Script. تمامًا مثل خدمة "مستندات Google" المضمّنة في Apps Script، تسمح واجهة برمجة التطبيقات هذه للنصوص البرمجية بقراءة المحتوى وتعديله وتنسيقه في "مستندات Google". في معظم الحالات، تكون الخدمة المضمّنة أسهل في الاستخدام، ولكن هذه الخدمة المتقدّمة تقدّم بعض الميزات الإضافية.
مَراجع
للحصول على معلومات تفصيلية عن هذه الخدمة، يُرجى الاطّلاع على مستندات المرجع لواجهة برمجة التطبيقات Docs API. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة "مستندات Google" المتقدّمة العناصر والأساليب والمَعلمات نفسها المستخدَمة في واجهة برمجة التطبيقات المتاحة للجميع. لمزيد من المعلومات، اطّلِع على كيفية تحديد توقيعات الطرق.
للإبلاغ عن المشاكل والعثور على دعم آخر، يُرجى الاطّلاع على دليل دعم Docs API.
نموذج التعليمات البرمجية
يستخدم نموذج الرمز البرمجي أدناه الإصدار 1 من واجهة برمجة التطبيقات.
إنشاء مستند
ينشئ هذا المثال مستندًا جديدًا.
البحث عن النص واستبداله
يعثر هذا المثال على أزواج من النصوص ويستبدلها في جميع علامات التبويب في مستند. يمكن أن يكون هذا الإجراء مفيداً عند استبدال العناصر النائبة في نسخة من مستند نموذج بقيمة من قاعدة بيانات.
إدراج النص وتطبيق أسلوب عليه
يُدرج هذا العيّنة نصًا جديدًا في بداية علامة التبويب الأولى في المستند ويُعدّله باستخدام خط وحجم محدّدَين. يُرجى العلم أنّه يجب
تجميع عمليات متعددة في طلب batchUpdate
واحد لأجل
الكفاءة كلما أمكن ذلك.
قراءة الفقرة الأولى
يسجِّل هذا العيّنة نص الفقرة الأولى من علامة التبويب الأولى في المستند. ونظرًا إلى الطبيعة المنظَّمة للفقرات في واجهة برمجة التطبيقات Docs API، يشمل ذلك دمج نص عناصر فرعية متعددة.
أفضل الممارسات
التعديلات المجمّعة
عند استخدام خدمة "مستندات Google" المتقدّمة، يمكنك دمج طلبات متعددة في صفيف بدلاً من استدعاء batchUpdate
في حلقة.
لا: لا تتصل بـ batchUpdate
بشكل متكرّر.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
إجراء: استدعاء batchUpdate
مع صفيف من
التعديلات.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);