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" } } ] }