Google Sheets API, adlandırılmış veya korumalı aralıklar oluşturmanıza, bunları değiştirmenize ve silmenize olanak tanır. Bu sayfadaki örnekler, Sheets API ile bazı genel E-Tablolar işlemlerini nasıl gerçekleştirebileceğinizi göstermektedir.
Bu örnekler, dil açısından tarafsız olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme başlıklı makaleyi inceleyin.
Bu örneklerde, SPREADSHEET_ID
ve SHEET_ID
yer tutucuları bu kimlikleri nerede sağlayacağınızı gösterir. E-tablo kimliğini e-tablo URL'sinde bulabilirsiniz. spreadsheets.get
yöntemini kullanarak e-tablo kimliğini alabilirsiniz. Aralıklar A1 gösterimi kullanılarak belirtilir. Örnek aralık: Sayfa1!A1:D5.
Ayrıca NAMED_RANGE_ID
ve PROTECTED_RANGE_ID
yer tutucuları, adlandırılmış ve korunan aralıkların kimliklerini sağlar. namedRangeId
ve protectedRangeId
, ilişkili aralıkları güncelleme veya silme isteği yapılırken kullanılır. Kimlik, adlandırılmış veya korumalı bir aralık oluşturan bir E-Tablolar API isteğine yanıt olarak döndürülür. Mevcut aralıkların kimliklerini Spreadsheet
yanıt gövdesinde spreadsheets.get
yöntemiyle alabilirsiniz.
Adlandırılmış veya korumalı aralıklar ekleme
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde, 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. Birincisinde AddNamedRangeRequest
kullanılarak A1:E3 aralığına "Sayım" adı atanır. İkincisi, A4:E4 aralığına uyarı düzeyinde bir koruma eklemek için AddProtectedRangeRequest
kullanır. Bu düzey koruma, aralık içindeki hücrelerin düzenlenmesine izin vermeye devam eder, ancak değişiklik yapılmadan önce bir uyarı gönderir.
Bu istekler, aralık kimliklerini ve özelliklerini içeren bir AddNamedRangeResponse
ve AddProtectedRangeResponse
döndürür.
İ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ı silme
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde, 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. İlkinde, önceki bir API çağrısındaki NAMED_RANGE_ID
değerini kullanarak mevcut bir adlandırılmış aralığı silmek için DeleteNamedRangeRequest
işlevi kullanılır. İkinci örnekte, önceki bir API çağrısından alınan PROTECTED_RANGE_ID
değerini kullanarak mevcut bir aralık korumasını silmek için DeleteProtectedRangeRequest
işlevi kullanılır.
İ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ğıdaki spreadsheets.batchUpdate
kod örneğinde, 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. İlkinde, önceki bir API çağrısından alınan NAMED_RANGE_ID
değerini kullanarak mevcut bir adlandırılmış aralığın adını "InitialCounts" olarak güncellemek için UpdateNamedRangeRequest
işlevi kullanılır. İkinci örnekte, mevcut bir korumalı aralığın adını aynı adla korunacak şekilde güncellemek için UpdateProtectedRangeRequest
işlevi kullanılır. Editors
yöntemi, yalnızca listelenen kullanıcıların bu hücreleri düzenlemesine olanak tanır. Bu istek, önceki API çağrılarına ait NAMED_RANGE_ID
ve PROTECTED_RANGE_ID
alanlarını kullanır.
İ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" } } ] }