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, dilden bağımsız olarak HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme bölümüne bakın.
Bu örneklerde SPREADSHEET_ID
ve SHEET_ID
yer tutucuları, bu kimlikleri nerede sağlayacağınızı belirtir. E-tablo kimliğini e-tablonun URL'sinde bulabilirsiniz. Sayfa kimliğini, spreadsheets.get
yöntemini kullanarak alabilirsiniz. Aralıklar, A1 gösterimi kullanılarak belirtilir. Örneğin Sayfa1!A1:D5.
Ayrıca NAMED_RANGE_ID
ve PROTECTED_RANGE_ID
yer tutucuları, adlandırılmış ve korunan aralıklar için kimlikler sağlar. namedRangeId
ve protectedRangeId
, ilişkili aralıkları güncelleme veya silme isteğinde bulunurken kullanılır. Kimlik, adlandırılmış veya korumalı aralık oluşturan bir Sheets 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 ekleyin
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 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ı sil
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. İlki, DeleteNamedRangeRequest
aracılığıyla mevcut bir adlandırılmış aralığı silmek amacıyla, önceki API çağrısındaki NAMED_RANGE_ID
parametresini kullanır. İkincisi ise önceki bir API çağrısına ait PROTECTED_RANGE_ID
öğesini kullanarak mevcut bir aralık korumasını silmek için DeleteProtectedRangeRequest
öğesini kullanı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. Birincisi, UpdateNamedRangeRequest
kullanarak mevcut bir adlandırılmış aralığın adını, önceki API çağrısındaki NAMED_RANGE_ID
değerini kullanarak "InitialCounts" olarak güncellemek için kullanılır. İkincisi ise mevcut korunan bir aralığı güncellemek için UpdateProtectedRangeRequest
kullanılarak artık aynı adlandırılmış aralık korunuyor. Editors
yöntemi, bu hücreleri yalnızca listelenen kullanıcıların düzenlemesine izin verir. 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" } } ] }