Adlandırılmış ve korumalı aralıklar

Google Sheets API ile adlandırılmış veya korunan dosyalar oluşturabilir, değiştirebilir ve silebilirsiniz değerleridir. Bu sayfadaki örnekler bazı yaygın proje yönetimi yaklaşımlarını Sheets API ile E-Tablolar işlemleri

Bu örnekler, HTTP istekleri şeklinde sunulur. nötr. Bir toplu güncellemeyi farklı dillerde nasıl uygulayacağınızı öğrenmek için hakkında daha fazla bilgi edinmek için Güncelleme e-tablolar gibi).

Bu örneklerde SPREADSHEET_ID ve SHEET_ID yer tutucuları bu kimlikleri nereye sağlayacağınızı belirtir. E-tabloyu kimliği ekleyin. Şundan faydalanabilirsiniz: sayfa kimliğini değiştirmek için spreadsheets.get yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan aralıklar A1 gösterimi kullanılarak belirtilir. örnek aralık Sayfa1!A1:D5'tir.

Buna ek olarak, NAMED_RANGE_ID ve PROTECTED_RANGE_ID yer tutucuları Adlandırılmış ve korunan aralıkların kimliklerini sağlayın. namedRangeId ve protectedRangeId, ilişkilendirilmiş aralıklar. Kimlik, bir Sheets API'ye verilen yanıtta döndürülür isteği gönderir. Mevcut ürünlerinizin kimliklerini alabilirsiniz. şu değeri içeren aralıklar: spreadsheets.get yöntemi, "the" Spreadsheet yanıt gövdesi.

Adlandırılmış veya korumalı aralıklar ekleyin

Aşağıdakiler spreadsheets.batchUpdate kod örneği, 2 istek nesnesinin nasıl kullanılacağını gösterir. İlki, AddNamedRangeRequest değerini atayın. İkincisi ise AddProtectedRangeRequest değerini atayın. Bu düzeyde koruma aralıktaki hücrelerin düzenlenmesine izin vermeye devam eder, ancak öncesinde bir uyarı gerçekleşeceği tahmin edilen iyileşmeleri görebilirsiniz.

Bu istekler bir AddNamedRangeResponse ve AddProtectedRangeResponse, içeren bir değişken oluşturun.

İstek protokolü aşağıda gösterilmiştir.

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

Adlandırılmış veya korumalı aralıkları sil

Aşağıdakiler spreadsheets.batchUpdate kod örneği, 2 istek nesnesinin nasıl kullanılacağını gösterir. İlki, DeleteNamedRangeRequest Mevcut bir adlandırılmış aralığı silmek için birNAMED_RANGE_ID önceki API çağrısı. İkincisi ise DeleteProtectedRangeRequest Mevcut bir aralık korumasını silmek için PROTECTED_RANGE_ID önceki bir API çağrısından.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteNamedRange": {
          "namedRangeId": "NAMED_RANGE_ID",
      }
    },
    {
      "deleteProtectedRange": {
        "protectedRangeId": PROTECTED_RANGE_ID,
      }
    }
  ]
}

Adlandırılmış veya korumalı aralıkları güncelleme

Aşağıdakiler spreadsheets.batchUpdate kod örneği, 2 istek nesnesinin nasıl kullanılacağını gösterir. İlki, UpdateNamedRangeRequest değerini kullanarak mevcut bir adlandırılmış aralığın adını "InitialCounts" olarak güncellemek için NAMED_RANGE_ID önceki bir API çağrısından. İkincisi ise UpdateProtectedRangeRequest korunacak şekilde güncelleyin. Böylece, artık aynı adlandırılmış aralığı. İlgili içeriği oluşturmak için kullanılan Editors yöntem yalnızca listelenen kullanıcıların bu hücreleri düzenlemesine izin verir. Bu istekte NAMED_RANGE_ID kullanılıyor ve önceki API çağrılarından PROTECTED_RANGE_ID.

İstek protokolü aşağıda gösterilmiştir.

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