Google ชีต API ช่วยให้คุณสร้าง แก้ไข และลบช่วงที่มีชื่อหรือได้รับการปกป้องได้ ตัวอย่างในหน้านี้แสดงวิธีดำเนินการทั่วไปบางอย่างในชีตด้วย Sheets API
ตัวอย่างเหล่านี้แสดงในรูปแบบคำขอ HTTP เพื่อไม่ระบุภาษา ดูวิธีใช้การอัปเดตแบบเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API ได้ที่อัปเดตสเปรดชีต
ในตัวอย่างเหล่านี้ ตัวยึดตําแหน่ง SPREADSHEET_ID
และ SHEET_ID
จะระบุตําแหน่งที่คุณควรระบุรหัสเหล่านั้น คุณจะพบรหัสสเปรดชีตใน URL ของสเปรดชีต คุณรับรหัสชีตได้โดยใช้เมธอด spreadsheets.get
โดยระบุช่วงโดยใช้รูปแบบ A1 ตัวอย่างช่วงคือ Sheet1!A1:D5
นอกจากนี้ ตัวยึดตําแหน่ง NAMED_RANGE_ID
และ PROTECTED_RANGE_ID
ยังระบุรหัสของช่วงที่มีชื่อและได้รับการป้องกันด้วย ระบบจะใช้ namedRangeId
และ protectedRangeId
เมื่อส่งคำขออัปเดตหรือลบช่วงที่เกี่ยวข้อง ระบบจะแสดงรหัสในการตอบกลับคําขอ Sheets API ที่สร้างช่วงที่มีชื่อหรือมีการป้องกัน คุณดูรหัสของช่วงที่มีอยู่ได้โดยใช้เมธอด spreadsheets.get
ในเนื้อหาคำตอบ Spreadsheet
เพิ่มช่วงที่มีชื่อหรือช่วงที่ได้รับการป้องกัน
ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate
แสดงวิธีใช้ออบเจ็กต์คำขอ 2 รายการ รายการแรกใช้ AddNamedRangeRequest
เพื่อตั้งชื่อช่วง A1:E3 เป็น "จํานวน" รายการที่ 2 ใช้ AddProtectedRangeRequest
เพื่อแนบการป้องกันระดับคำเตือนกับช่วง A4:E4 การป้องกันระดับนี้จะยังอนุญาตให้แก้ไขเซลล์ภายในช่วงได้ แต่จะแสดงคำเตือนก่อนทำการเปลี่ยนแปลง
คำขอเหล่านี้จะแสดงผล AddNamedRangeResponse
และ AddProtectedRangeResponse
ซึ่งมีรหัสและพร็อพเพอร์ตี้ของช่วง
โปรโตคอลคำขอแสดงอยู่ด้านล่าง
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addNamedRange": { "namedRange": { "name": "Counts", "range": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 5, }, } } }, { "addProtectedRange": { "protectedRange": { "range": { "sheetId":SHEET_ID
, "startRowIndex": 3, "endRowIndex": 4, "startColumnIndex": 0, "endColumnIndex": 5, }, "description": "Protecting total row", "warningOnly": true } } } ] }
ลบช่วงที่มีชื่อหรือช่วงที่ได้รับการป้องกัน
ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate
แสดงวิธีใช้ออบเจ็กต์คำขอ 2 รายการ รายการแรกใช้ DeleteNamedRangeRequest
เพื่อลบช่วงที่มีชื่ออยู่แล้วโดยใช้ NAMED_RANGE_ID
จากการเรียก API ก่อนหน้า ส่วนการเรียกใช้ที่ 2 ใช้ DeleteProtectedRangeRequest
เพื่อลบการปกป้องช่วงที่มีอยู่โดยใช้ PROTECTED_RANGE_ID
จากคําเรียก API ก่อนหน้า
โปรโตคอลคำขอแสดงอยู่ด้านล่าง
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
อัปเดตช่วงที่มีชื่อหรือช่วงที่ได้รับการป้องกัน
ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate
แสดงวิธีใช้ออบเจ็กต์คำขอ 2 รายการ รายการแรกใช้ UpdateNamedRangeRequest
เพื่ออัปเดตชื่อของช่วงที่มีชื่ออยู่แล้วเป็น "InitialCounts" โดยใช้ NAMED_RANGE_ID
จากคําเรียก API ก่อนหน้า ส่วนคำสั่งที่ 2 ใช้ UpdateProtectedRangeRequest
เพื่ออัปเดตช่วงที่ได้รับการปกป้องที่มีอยู่เพื่อให้ช่วงที่มีชื่อเดียวกันได้รับการปกป้อง วิธีการ Editors
จะอนุญาตให้มีเพียงผู้ใช้ที่ระบุเท่านั้นที่แก้ไขเซลล์เหล่านั้นได้ คําขอนี้ใช้ NAMED_RANGE_ID
และ PROTECTED_RANGE_ID
จากการเรียก API ก่อนหน้านี้
โปรโตคอลคำขอแสดงอยู่ด้านล่าง
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateNamedRange": { "namedRange": { "namedRangeId":NAMED_RANGE_ID
, "name": "InitialCounts", }, "fields": "name", } }, { "updateProtectedRange": { "protectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, "namedRangeId":NAMED_RANGE_ID
, "warningOnly": false, "editors": { "users": [ "charlie@example.com", "sasha@example.com" ] } }, "fields": "namedRangeId,warningOnly,editors" } } ] }