Google Sheets API ช่วยให้คุณสร้าง แก้ไข และลบช่วงที่มีชื่อหรือช่วงที่มีการป้องกันได้ ตัวอย่างในหน้านี้แสดงวิธีใช้ Sheets API เพื่อดำเนินการบางอย่างที่ใช้กันทั่วไปใน Sheets
ตัวอย่างเหล่านี้แสดงในรูปแบบคำขอ HTTP เพื่อให้เป็นกลางทางภาษา หากต้องการดูวิธีใช้ ไลบรารีของไคลเอ็นต์ Google API เพื่ออัปเดตเป็นชุดในภาษาต่างๆ โปรดดูอัปเดต สเปรดชีต
ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID
จะระบุตำแหน่งที่คุณจะระบุรหัสเหล่านั้น คุณจะพบรหัสของสเปรดชีต
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" } } ] }