Google Sheets API ช่วยให้คุณสร้าง แก้ไข และลบช่วงที่มีชื่อหรือช่วงที่ได้รับการป้องกันได้ ตัวอย่างในหน้านี้แสดงวิธีดำเนินการทั่วไปบางอย่างในชีตด้วยชีต 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" } } ] }