טווחים מוגנים בעלי שם

Google Sheets API מאפשר ליצור, לשנות ולמחוק שם או קבוצה מוגנים טווחים. הדוגמאות בדף הזה ממחישות איך אפשר להשיג פעולות ב-Sheets באמצעות API של Sheets.

הדוגמאות האלה מוצגות בצורה של בקשות HTTP ניטרלי. כדי ללמוד איך להטמיע עדכון בכמות גדולה בשפות שונות באמצעות על ספריות הלקוח של Google API, ראו עדכון גיליונות אלקטרוניים.

בדוגמאות האלה, ערכי ה-placeholders SPREADSHEET_ID ו-SHEET_ID מציין איפה תציינו את המזהים האלה. הגיליון האלקטרוני נמצא ID בכתובת ה-URL של הגיליון האלקטרוני. אפשר לקבל את מזהה הגיליון באמצעות spreadsheets.get. מציינים טווחים באמצעות סימון A1. הטווח לדוגמה הוא Sheet1!A1:D5.

בנוסף, ערכי ה-placeholder הבאים: NAMED_RANGE_ID ו-PROTECTED_RANGE_ID מספקים את המזהים לטווחי תאים בעלי שם ולטווחי תאים מוגנים. namedRangeId וגם protectedRangeId משמשות לשליחת בקשות לעדכון או למחיקה של מהטווחים המשויכים. המזהה מוחזר בתגובה ל-Sheets API שיוצרת טווח תאים בעל שם או טווח מוגן. אפשר לקבל את המזהים של טווחים עם השיטה spreadsheets.get, במטבע ה Spreadsheet גוף התגובה.

הוספת טווחי תאים בעלי שם או טווחי תאים מוגנים

הבאים spreadsheets.batchUpdate דוגמת הקוד מראה איך להשתמש ב-2 אובייקטי בקשה. הראשון משתמש AddNamedRangeRequest כדי להקצות לטווח A1:E3 את השם "Counts". השנייה משתמשת 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. השנייה משתמשת 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. השנייה משתמשת 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"
      }
    }
  ]
}