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