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