Google Sheets API, adlandırılmış veya korumalı aralıkları oluşturmanıza, değiştirmenize ve silmenize olanak tanır. Bu sayfadaki örnekler, bazı yaygın E-Tablolar işlemlerini Sheets API ile nasıl gerçekleştirebileceğinizi göstermektedir.
Bu örnekler, dilsiz olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncellemenin nasıl uygulanacağını öğrenmek için E-tabloları güncelleme bölümüne bakın.
Bu örneklerde SPREADSHEET_ID
ve SHEET_ID
yer tutucuları, bu kimlikleri nereye gireceğinizi 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. Sayfa1!A1:D5 örnek aralıktır.
Buna ek olarak, 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üncellemek veya silmek için istekte 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övdesindeki spreadsheets.get
yöntemiyle alabilirsiniz.
Adlandırılmış veya korumalı aralık ekle
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. Birincisi, A1:E3 aralığına "Counts" adı atamak için AddNamedRangeRequest
kullanır. İkincisi ise A4:E4 aralığına uyarı düzeyinde bir koruma eklemek için AddProtectedRangeRequest
kullanır. Bu seviye koruması, aralık içindeki hücrelerin düzenlenmesine izin verir ancak değişiklik yapılmadan önce uyarı verir.
Bu istekler, aralık kimliklerini ve özelliklerini 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 korunan aralıkları sil
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. Birincisi, önceki bir API çağrısındaki NAMED_RANGE_ID
kullanılarak mevcut bir adlandırılmış aralığı silmek için DeleteNamedRangeRequest
öğesini kullanır. İkincisi ise önceki bir API çağrısındaki PROTECTED_RANGE_ID
ile mevcut aralık korumasını silmek için DeleteProtectedRangeRequest
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üncelle
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde 2 istek nesnesinin nasıl kullanılacağı gösterilmektedir. Birincisi, UpdateNamedRangeRequest
kullanılarak mevcut bir adlandırılmış aralığın adını "InitialCounts" olarak günceller ve önceki bir API çağrısındaki NAMED_RANGE_ID
kullanılır. İkincisi ise mevcut, korunan bir aralığı güncellemek için UpdateProtectedRangeRequest
öğesini kullanır. Böylece, artık aynı adlandırılmış aralığı korur. Editors
yöntemi, yalnızca listelenen kullanıcıların bu hücreleri düzenlemesine izin verir. Bu istek, önceki API çağrılarındaki NAMED_RANGE_ID
ve PROTECTED_RANGE_ID
öğelerini 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" } } ] }