سرویس پیشرفته Docs به شما امکان میدهد از API گوگل داکس در Apps Script استفاده کنید. این API بسیار شبیه به سرویس داخلی Docs در Apps Script، به اسکریپتها اجازه میدهد تا محتوا را در Google Docs بخوانند، ویرایش کنند و قالببندی کنند. در بیشتر موارد، استفاده از سرویس داخلی آسانتر است، اما این سرویس پیشرفته چند ویژگی اضافی نیز ارائه میدهد.
مرجع
برای اطلاعات دقیق در مورد این سرویس، به مستندات مرجع برای Docs API مراجعه کنید. مانند تمام سرویسهای پیشرفته در Apps Script، سرویس Advanced Docs از همان اشیاء، متدها و پارامترهای API عمومی استفاده میکند. برای اطلاعات بیشتر، به بخش «نحوه تعیین امضاهای متد» مراجعه کنید.
برای گزارش مشکلات و یافتن پشتیبانیهای دیگر، به راهنمای پشتیبانی API اسناد مراجعه کنید.
کد نمونه
کد نمونه زیر از نسخه ۱ این API استفاده میکند.
ایجاد سند
این نمونه یک سند جدید ایجاد میکند.
متن را پیدا و جایگزین کنید
این نمونه، جفتهای متن را در تمام تبهای یک سند پیدا و جایگزین میکند. این میتواند هنگام جایگزینی متغیرهای یک کپی از یک سند الگو با مقادیر یک پایگاه داده مفید باشد.
متن را وارد کنید و سبک دهید
این نمونه متن جدید را در ابتدای اولین تب در سند وارد میکند و آن را با فونت و اندازه خاصی استایلبندی میکند. توجه داشته باشید که در صورت امکان، برای افزایش کارایی، باید چندین عملیات را در یک فراخوانی batchUpdate دستهبندی کنید.
پاراگراف اول را بخوانید
این نمونه متن پاراگراف اول از اولین تب سند را ثبت میکند. به دلیل ماهیت ساختاریافته پاراگرافها در API اسناد، این شامل ترکیب متن چندین زیرعنصر است.
بهترین شیوهها
بهروزرسانیهای دستهای
هنگام استفاده از سرویس پیشرفته Docs، به جای فراخوانی 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);