Google Sheets 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
เพื่อกำหนดชื่อ "Counts" ให้กับช่วง 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" } } ] }