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