Google Sheets API, adlandırılmış veya korumalı aralıklar oluşturmanıza, değiştirmenize ve silmenize olanak tanır. Bu sayfadaki örnekler, Sheets API ile bazı yaygın Sheets işlemlerini nasıl gerçekleştirebileceğinizi gösterir.
Bu örnekler, dilden bağımsız olması için HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme başlıklı makaleye bakın.
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 sayfa kimliğini alabilirsiniz. Aralıklar, A1 gösterimi kullanılarak belirtilir. Örnek bir 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. İlişkili aralıkları güncelleme veya silme isteklerinde namedRangeId
ve protectedRangeId
kullanılır. Kimlik, adlandırılmış veya korumalı bir aralık oluşturan E-Tablolar API isteğine verilen yanıtta döndürülür. Mevcut aralıkların kimliklerini spreadsheets.get
yöntemiyle Spreadsheet
yanıt gövdesinde 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. İlkinde, A1:E3 aralığına "Counts" adı atanmak için AddNamedRangeRequest
kullanılır. İkincisinde ise A4:E4 aralığına uyarı düzeyinde koruma eklemek için
AddProtectedRangeRequest
kullanılıyor. Bu koruma düzeyi, aralıktaki hücrelerin düzenlenmesine izin vermeye devam eder ancak değişiklik yapılmadan önce uyarı gösterir.
Bu istekler, aralık kimliklerini ve özellikleri içeren bir AddNamedRangeResponse
ve bir 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ından NAMED_RANGE_ID
kullanılarak mevcut bir adlandırılmış aralığı silmek için DeleteNamedRangeRequest
kullanılır. İkincisi ise önceki bir API çağrısından PROTECTED_RANGE_ID
kullanılarak mevcut bir aralık korumasını silmek için DeleteProtectedRangeRequest
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. İlk örnekte, önceki bir API çağrısından alınan NAMED_RANGE_ID
kullanılarak mevcut bir adlandırılmış aralığın adı "InitialCounts" olarak güncellenir.UpdateNamedRangeRequest
İkincisi ise UpdateProtectedRangeRequest
kullanarak mevcut bir korumalı aralığı, aynı adlı aralığı koruyacak şekilde günceller. Editors
yöntemi, yalnızca listelenen kullanıcıların bu hücreleri düzenlemesine izin verir. Bu istek, önceki API çağrılarından NAMED_RANGE_ID
ve PROTECTED_RANGE_ID
değerlerini 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" } } ] }