บริการ Docs ขั้นสูงช่วยให้คุณใช้ Google Docs API ใน Google Apps Script ได้ API นี้ช่วยให้สคริปต์อ่าน แก้ไข และจัดรูปแบบเนื้อหาใน Google Docs ได้เช่นเดียวกับบริการ Docs ในตัวของ Apps Script's ในกรณีส่วนใหญ่ บริการในตัวจะใช้งานง่ายกว่า แต่บริการขั้นสูงนี้มีฟีเจอร์เพิ่มเติมบางอย่าง
นี่คือบริการขั้นสูงที่คุณต้อง เปิดใช้ก่อนใช้งาน ทำตาม คู่มือเริ่มต้นฉบับย่อเพื่อดูวิธีการทีละขั้นตอน ในการเริ่มต้นใช้งาน
ข้อมูลอ้างอิง
ดูข้อมูลโดยละเอียดเกี่ยวกับบริการนี้ได้ใน เอกสารอ้างอิงสำหรับ Docs API บริการ Docs ขั้นสูงใช้ฟังก์ชันออบเจ็กต์ เมธอด และพารามิเตอร์เดียวกันกับ API สาธารณะ เช่นเดียวกับบริการขั้นสูงทั้งหมดใน Apps Script ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อวิธีกำหนดลายเซ็นเมธอด
หากต้องการรายงานปัญหาและดูการสนับสนุนอื่นๆ โปรดดู คู่มือการสนับสนุน Docs API
โค้ดตัวอย่าง
โค้ดตัวอย่างต่อไปนี้ใช้ API เวอร์ชัน 1
สร้างเอกสาร
ตัวอย่างนี้จะสร้างเอกสารใหม่
ค้นหาและแทนที่ข้อความ
ตัวอย่างนี้จะค้นหาและแทนที่ข้อความที่จับคู่กันในแท็บทั้งหมดของเอกสาร ซึ่งจะเป็นประโยชน์เมื่อแทนที่ตัวยึดตำแหน่งในสำเนาเอกสารเทมเพลตด้วยค่าจากฐานข้อมูล
แทรกและจัดรูปแบบข้อความ
ตัวอย่างนี้จะแทรกข้อความใหม่ที่จุดเริ่มต้นของแท็บแรกในเอกสารและจัดรูปแบบข้อความด้วยฟอนต์และขนาดที่เฉพาะเจาะจง โปรดทราบว่าคุณควรจัดกลุ่มการดำเนินการหลายรายการไว้ในการเรียก batchUpdate ครั้งเดียวเพื่อประสิทธิภาพ หากทำได้
อ่านย่อหน้าแรก
ตัวอย่างนี้จะบันทึกข้อความของย่อหน้าแรกในแท็บแรกของเอกสาร เนื่องจากย่อหน้าใน Docs 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);