Google Sheets API v3'ü temel alan uygulamalarınız varsa Google Sheets API v4. v4 sürümü JSON tabanlıdır ve kullanımı daha kolaydır büyük miktarda işlevsellik kattığından, bunun mümkün olmadığı kontrol edebilirsiniz.
Bu sayfada, eski Sheets API v3 komutları ile bu komutların arasındaki eşleme sunulmaktadır. Sheets API v4'te eşdeğer işlemler. Haritalama, büyük ölçüde spreadsheets.values koleksiyonundan yararlanın. Sayfa ekleme veya sayfa özelliklerini güncelleme gibi diğer konular, e-tablolar koleksiyonuna gidin. v4 API'nin JSON yapılarının v3'te kullanılan XML yapıları.
Sheets v4 API'de bulunan kaynaklar hakkında daha fazla bilgi için API Referansı.
Gösterim ve şartlar
v3 API, belirli bir e-tablodaki sayfaları "çalışma sayfaları" olarak belirtir. "Sayfalar" terimiyle eş anlamlıdır yeni bir çözüm sunar.
API'ler genellikle bir e-tablo kimliği belirtmenizi gerektirir. farklı olabilir. Ayrıca genellikle bir sayfaya gönderilir. Bu değerler, API uç noktasının parçası olarak görünür URL'si (sorgu parametreleri olarak veya istek gövdesinin parçası olarak). Bu sayfada spreadsheetId ve sheetId yer tutucuları sırasıyla e-tablo ve sayfa kimliklerine başvuruda bulunmalıdır. Yöntemleri kullanırken yerine, bu konumlardaki gerçek kimlikleri kullanın.
v3 API ayrıca liste feed'i; bu değer, bu sayfada rowId yer tutucusuyla temsil edilir.
İstekleri yetkilendirme
Uygulamanız çalışırken kullanıcılardan belirli izinleri vermelerini ister; kapsamlarının hangi izinleri istediğini uygulamanızda belirttiğiniz gibi belirler.
v3 API'sı
Sheets API v3, tek bir yetkilendirme kapsamıyla çalışır:
https://spreadsheets.google.com/feeds
Bu, Google’ın
https://www.googleapis.com/auth/spreadsheets
Her iki kapsam biçimi de kullanılabilir.
v4 API'sı
Sheets API v4, aşağıdaki kapsamlardan birini veya daha fazlasını kullanır:
https://www.googleapis.com/auth/spreadsheets.readonly https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/drive
Uygulamanızın kullanıcının e-tablo veya e-tablo özelliklerini kullanabilir. Bunun yerine e-tablo kapsamlarını kullan Uygulama, genel Drive erişimine ihtiyaç duymuyorsa Drive kapsamları.
Görünürlük
API'nın eski sürümlerinde görünürlük terimi, API'nin kullanılabilirlik durumudur.
v3 API'sı
Sheets API v3, görünürlüğü doğrudan uç noktalarında ifade eder. public
e-tablo "Web'de yayınlanmıştır" ve böylece
Yetkilendirme olmadan API, private
e-tablosu ise
kimlik doğrulama. Görünürlük,
e-tablo kimliği:
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
v4 API'sı
Yeni Sheets API v4'te görünürlükle ilgili açık bir beyan yoktur. API çağrıları, e-tablo kimlikleri kullanılarak yapılır. Uygulama belirtilen e-tabloya erişim izni verirseniz bir hata döndürülür. Aksi halde görüşme devam eder.
Projeksiyon
Projeksiyon terimi, Sheets API v3 tarafından, veri kümesini belirtmek için kullanılır belirli bir API çağrısının tümü veya sabit bir alt kümesi tarafından döndürülen API içinde tanımlanmış olmalıdır. Sheets API v4'te projeksiyon kullanılmaz, Google'a hangi verilerin döndürüleceği konusunda daha fazla kontrol sahibi olmanızı sağlar.
v3 API'sı
Sheets API v3'te yalnızca iki olası projeksiyon ayarı vardır. full
.
projeksiyon mevcut tüm bilgileri döndürürken basic
, bir
daha küçük, sabit veri alt kümesi (çalışma sayfaları, liste ve hücre feed'leri için).
Görünürlük gibi, projeksiyon da API uç noktasında belirtilmelidir.
(görünürlük ayarından sonra):
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/public/basic
basic
tahmini tarafından sağlanan daha küçük veri alt kümesi değerlidir
özelleştirilemez.
v4 API'sı
Sheets API v4 tam bir veri kümesi döndürebilir, ancak sabit
E-Tablolar API v3'ün basic
görünürlük ayarına benzer şekilde alt kümeler içerir.
E-tablodaki yöntemler
kullanımı ve kullanımı üzerinden döndürdükleri veri miktarını kısıtlamalarını,
fields sorgu parametresi
Örneğin, aşağıdaki sorgu yalnızca belirli bir e-tablodaki sayfalar için
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties.title
E-tablo oluştur
v3 API'sı
Sheets API v3, yeni e-tablolar oluşturmak için bir araç sağlamaz;
Drive API Files.create
yöntemini nasıl kullanabilirsiniz? Bu,
https://www.googleapis.com/auth/drive
kapsamını beyan etmek için kullanılan bir uygulamadır.
v4 API'sı
Drive API Files.create yöntemi
Sheets API v4 ile de kullanılır ancak uygulamanın,
https://www.googleapis.com/auth/drive
kapsamı.
Eşdeğer bir alternatif olarak Sheets API v4, spreadsheets.create yöntemini kullanabilir, isteğe bağlı olarak e-tablo ekleyebilir, e-tablo ve sayfa özellikleri ve adlandırılmış aralıklar ekleyin. Örneğin, aşağıdakiler yeni bir ve "NewTitle" adını alır:
POST https://sheets.googleapis.com/v4/spreadsheets
{ "properties": {"title": "NewTitle"} }
Kimliği doğrulanmış kullanıcı için e-tabloları listele
v3 API'sı
E-Tablolar API v3 feed'i, bir uygulamanın tüm e-tabloların erişilebilir olması gerekir. E-tablo feed'i uç nokta şöyle:
GET https://spreadsheets.google.com/feeds/spreadsheets/private/full
v4 API'sı
Sheets API v4, bu işlemi gerçekleştirmez. Önerilerimiz: uygulamanızı drive.file kapsamını E-tablo seçimi için Google Seçici.
Gerektiği durumlarda e-tablolar yinelenebilir
Drive API Files.list yöntemiyle
bir mimeType
sorgusu:
GET https://www.googleapis.com/drive/v3/files ?q=mimeType='application/vnd.google-apps.spreadsheet'
Bir kullanıcının tüm e-tablolarını listelemek için Drive API files.list yöntemini kullanma kısıtlanmış bir kapsam gerektirir.
Sayfa meta verilerini alma
Sheets API v3, e-tablo meta verilerine erişmek için bir feed sağlar bir elektronik tabloda (satır ve hücre verilerine ayrı bir feed). Meta veriler; sayfa başlıkları ve boyut bilgisi sağlar.
Sheets API v4 spreadsheets.get yöntemi sayesinde bu bilgilere ve daha fazlasına erişebilirsiniz.
v3 API'sı
Çalışma sayfası feed'ine bu API uç noktasından erişilebilir ( uygun yetkilendirme üstbilgisi):
GET https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
Bu isteğe verilen yanıt şuna benzer bir yapıya sahiptir:
her sayfanın verileri ayrı bir <entry>
içinde yer alır:
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:gs="http://schemas.google.com/spreadsheets/2006"
xmlns:gd="http://schemas.google.com/g/2005"
gd:etag='W/"D0cERnk-eip7ImA9WBBXGEg."'>
<id>https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<title type="text">Groceries R Us</title>
<link rel="alternate" type="text/html"
href="https://spreadsheets.google.com/ccc?key=spreadsheetId"/>
<link rel="http://schemas.google.com/g/2005#feed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<author>
<name>Fitzwilliam Darcy</name>
<email>fitz@example.com</email>
</author>
<openSearch:totalResults>1</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>1</openSearch:itemsPerPage>
<entry gd:etag='"YDwqeyI."'>
<id>https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<title type="text">Sheet1</title>
<content type="text">Sheet1</content>
<link rel="http://schemas.google.com/spreadsheets/2006#listfeed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full"/>
<link rel="http://schemas.google.com/spreadsheets/2006#cellsfeed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version"/>
<gs:rowCount>100</gs:rowCount>
<gs:colCount>20</gs:colCount>
</entry>
</feed>
v4 API'sı
spreadsheets.get
yöntemi, sayfa özelliklerini ve diğer meta verileri almak için kullanılabilir.
Sheets API v3 ile sunulandan daha fazla. Yalnızca
sayfa özelliklerini okumak istiyorsanız includeGridData
sorgusunu ayarlayın
parametresini false
adresine eklemeniz gerekir:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?includeGridData=false
Spreadsheet
yanıt, Sheet
dizisi içeriyor
nesneler; sayfa başlıkları ve boyut bilgileri burada bulunabilir.
SheetProperties
altından
öğesi oluşturabilirsiniz. Örneğin:
{ "spreadsheetId": spreadsheetId, "sheets": [ {"properties": { "sheetId": sheetId, "title": "Sheet1", "index": 0, "gridProperties": { "rowCount": 100, "columnCount": 20, "frozenRowCount": 1, "frozenColumnCount": 0, "hideGridlines": false }, ... }, ... }, ... ], ... }
E-tabloya sayfa ekleme
Her iki API de mevcut bir e-tabloya yeni sayfalar eklemenize olanak tanır.
v3 API'sı
Sheets API v3, yeni çalışma sayfaları eklemek için
takip eden (kimliği doğrulanmış) POST
isteği. Reklam öğesinin boyutunu belirtmek için
yeni sayfa:
POST https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gs="http://schemas.google.com/spreadsheets/2006">
<title>Expenses</title>
<gs:rowCount>50</gs:rowCount>
<gs:colCount>10</gs:colCount>
</entry>
v4 API'sı
Yeni sayfa eklemek için AddSheet spreadsheets.batchUpdate yöntemidir. İstek gövdesinin bir parçası olarak, sayfa özelliklerini yeni sayfa; tüm özellikler isteğe bağlıdır. E-postanızda başlık ekleyin.
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{ "requests": [{ "addSheet": { "properties": { "title": "Expenses", "sheetType": "GRID", "gridProperties": { "rowCount": 50, "columnCount": 10 } } } }], }
Sayfa başlığını ve boyutunu değiştirme
Sheets API v3, sayfa başlıklarını ve boyutunu güncellemenize olanak tanır. Sheets API v4 da buna olanak tanır ancak diğer sayfa özelliklerini güncellemek için de kullanılabilir. Bir sayfanın boyutunu küçültmenin, kırpılmış hücrelerdeki verilerin gösterilmesine neden olabileceğini unutmayın. uyarı yapılmadan silindi.
v3 API'sı
Çalışma sayfasının başlığını veya boyutunu değiştirmek için
çalışma sayfası feed'i ve
edit
URL'sini içeren istenen çalışma sayfası girişini bulun.
Çalışma sayfasının meta verilerini güncelleme ve PUT
isteğinin gövdesi olarak gönderme
ifadesini ekleyin. Örneğin:
PUT https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version
<entry>
<id>
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId
</id>
<updated>2007-07-30T18:51:30.666Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#worksheet"/>
<title type="text">Expenses</title>
<content type="text">Expenses</content>
<link rel="http://schemas.google.com/spreadsheets/2006#listfeed"
type="application/atom+xml" href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full"/>
<link rel="http://schemas.google.com/spreadsheets/2006#cellsfeed"
type="application/atom+xml" href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version"/>
<gs:rowCount>45</gs:rowCount>
<gs:colCount>15</gs:colCount>
</entry>
v4 API'sı
Boyut, başlık ve diğer sayfa özelliklerini güncellemek için
updateSheetProperties
bu bölümde
spreadsheets.batchUpdate
yöntemidir. POST
isteğinin gövdesi,
değiştirilmelidir ve fields
parametresi bu özellikleri açıkça listelemelidir.
(tüm özellikleri güncellemek istiyorsanız, fields:"*"
listeleyebilirsiniz. Örneğin,
aşağıdaki örnekte, sayfa başlığı ve boyutunun
özellikleri, verilen kimliğe sahip sayfa için güncellenmelidir:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{ "requests": [ { "updateSheetProperties": { "properties": { "sheetId": sheetId, "title": "Expenses", "gridProperties": { "rowCount": 45, "columnCount": 15, } }, "fields": "title,gridProperties(rowCount,columnCount)" } } ], }
Bir sayfanın sheetId öğesini almak için e-tabloyu kullanın spreadsheets.get yöntemini kullanın.
Sayfa silme
Her iki API de belirli bir e-tablodan sayfa kaldırabilir.
v3 API'sı
Bir çalışma sayfasını silmek için işe
çalışma sayfası feed'ini
hedef çalışma sayfası girişinin edit
URL'sine bir DELETE
isteği gönder.
DELETE https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version
v4 API'sı
Bir sayfayı silmek için
DeleteSheet
bu bölümde
spreadsheets.batchUpdate
yöntemidir. POST
isteğinin gövdesi, yalnızcasheetId
silineceğini unutmayın. Örneğin:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{ "requests": [ { "deleteSheet": { "sheetId": sheetId } } ], }
Tek bir sayfanın sheetId özelliğini almak için e-tablo spreadsheets.get yöntemidir.
Satır verilerini alma
Liste satırları feed'i, Sheets API v3'ün sağladığı iki yöntemden biridir: Bir e-tablonun hücrelerindeki verilere erişme (diğeri hücre feed'i'dir). İlgili içeriği oluşturmak için kullanılan satır feed'inin amacı yaygın e-tablo işlemlerini (satır satır okuma, satır satır satır ekleme, sıralama) yapar, ancak bunu uygun olmayan bazı varsayımlarda bulunur. bazı görevler için. Özellikle, liste feed'i boş satırların feed olduğunu varsayar zorunlu başlıkların bulunduğu bir e-posta adresinin ilk satırında yer aldığını sayfasına gitmelidir.
E-Tablolar API v4 ise, satıra özgüdür. Bunun yerine, sayfa hücresi verilerine belirli bir A1 gösterimi kullanılarak gereken aralıklar. İlgili içeriği oluşturmak için kullanılan aralıklar hücre blokları, satırların tamamı, sütunların tamamı veya tüm sayfa olabilir. API ayrık hücre kümelerine de erişebilir.
v3 API'sı
Belirli bir çalışma sayfasındaki listeye dayalı feed'in URL'sini belirlemek için çalışma sayfası feed'i ve ilgili çalışma sayfası girişinde liste feed'i URL'sini bulun.
Liste tabanlı bir feed almak için liste feed'i URL'sine bir GET
isteği gönderin.
değiştirin. Örneğin:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
Bu isteğe verilen yanıtta, diğer özelliklerinin yanı sıra ekleyebilirsiniz. Bağımsız hücrelere (zorunlu) sayfa başlığı satırında sağlanan adlar. Örneğin, burada tek satırlı bir giriştir:
<entry gd:etag='"S0wCTlpIIip7ImA0X0QI"'>
<id>rowId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#list"/>
<title type="text">Bingley</title>
<content type="text">Hours: 10, Items: 2, IPM: 0.0033</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version"/>
<gsx:name>Bingley</gsx:name>
<gsx:hours>10</gsx:hours>
<gsx:items>2</gsx:items>
<gsx:ipm>0.0033</gsx:ipm>
</entry>
Varsayılan olarak, liste feed'inde döndürülen satırlar satır sırasına göre döndürülür. Sheets API v3, bu sırayı değiştirmek için sorgu parametreleri sağlar.
Ters sırada:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full?reverse=true
Belirli bir sütuna göre sıralama:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full ?orderby=column:lastname
Sheets API v3, belirli satırların yapılandırılmış bir sorgusu (sütun başlıklarıyla referans alınır):
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full ?sq=age>25%20and%20height<175
v4 API'sı
Sheets API v4'te satırlar spreadsheets.values.get veya spreadsheets.values.batchGet yöntemlerine göz atın. Örneğin, aşağıdaki "Sheet1" içindeki tüm satırları döndürür:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1
Bu isteğe verilen yanıt aşağıdakine benzer bir yapıya sahiptir:
{ "range": "Sheet1", "majorDimension": "ROWS", "values": [["Name", "Hours", "Items", "IPM"], ["Bingley", "10", "2", "0.0033"], ["Darcy", "14", "6", "0.0071"]] }
Tamamı alınırken, sondaki boş hücreler yanıta dahil edilmez satır, sütun veya e-tablo olarak ayarlayabilirsiniz.
Sheets API v4'te satır sırası sorgusu için eşdeğerleri yok
E-Tablolar API v3 tarafından sağlanan parametreler. Tersine sıralama önemsizdir. basitçe
döndürülen values
dizisini ters sırada işler. Sütuna göre sıralama değil
desteklenir, ancak sayfadaki verileri sıralamak için (kullanmak istediğiniz
SortRange gibi)
ve sonra bunu okuyabilirsiniz.
Sheets API v4 şu anda Sheets API v3 yapılandırılmış sorguları için doğrudan bir eşdeğeri yoktur. Ancak, alakalı verileri alabilir ve gereken şekilde sıralayabilirsiniz.
Yeni bir veri satırı ekleme
API'lerden birini kullanarak bir sayfaya yeni bir veri satırı ekleyebilirsiniz.
v3 API'sı
Belirli bir çalışma sayfasındaki listeye dayalı feed'in URL'sini belirlemek için çalışma sayfası feed'i ve ilgili çalışma sayfası girişinde yayının URL'sini bulun.
Veri satırı eklemek için yayın URL'sine POST
isteği gönderin.
değiştirin. Örneğin:
POST https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
POST
isteğinin gövdesinde, satır verileri için bir giriş bulunmalıdır
ekleyin:
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended">
<gsx:hours>2</gsx:hours>
<gsx:ipm>0.5</gsx:ipm>
<gsx:items>60</gsx:items>
<gsx:name>Elizabeth</gsx:name>
</entry>
Yeni satırlar, belirtilen sayfanın sonuna eklenir.
v4 API'sı
Sheets API v4'te spreadsheets.values.append yöntemidir. Aşağıdaki örnekte, son "Sayfa1" içindeki tablo oluşturabilirsiniz.
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/append/Sheet1.
{ "values": [["Elizabeth", "2", "0.5", "60"]] }
Ayrıca, Sheets API v4, belirli satır öğeleri içeren özelliklerini ve biçimlendirmeyi AppendCells içindeki talep sayısı spreadsheets.batchUpdate.
Yeni verilerin bulunduğu bir satırı düzenleme
Her iki API de satır verilerinin yeni değerlerle güncellenmesine olanak tanır.
v3 API'sı
Bir veri satırını düzenlemek için liste feed'ini inceleyin öğesini tıklayın. öğesinin içeriğini güncelleyin gerektiği şekilde yazın. Kullandığınız girişteki kimlik değerinin tam olarak mevcut girişin kimliğiyle eşleşir.
Giriş güncellendikten sonra, PUT
söz konusu satır girişinde sağlanan edit
URL'sine istek gövdesi
değiştirin. Örneğin:
PUT https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version
<entry gd:etag='"S0wCTlpIIip7ImA0X0QI"'>
<id>rowId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#list"/>
<title type="text">Bingley</title>
<content type="text">Hours: 10, Items: 2, IPM: 0.0033</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version"/>
<gsx:name>Bingley</gsx:name>
<gsx:hours>20</gsx:hours>
<gsx:items>4</gsx:items>
<gsx:ipm>0.0033</gsx:ipm>
</entry>
v4 API'sı
Sheets API v4'te bir satırı düzenlemek için Göstermek istediğiniz satırın A1 gösterimini bir düzenleme ve düzenleme spreadsheets.values.update üzerine yazılmasını isteyebilirsiniz. Belirtilen aralığın yalnızca satırdaki ilk hücre; Google Etiket Yöneticisi, değerleri için de geçerlidir. Bunun yerine çok hücreli bir aralık belirtirseniz sağladığınız değerler bu aralığa uymalıdır; değilse API, hatası.
Aşağıdaki örnek istek ve istek gövdesi, "Sayfa1"in dördüncü satırı:
PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A4
{ "values": [["Elizabeth", "2", "0.5", "60"]] }
Satır verilerini şuradan da güncelleyebilirsiniz: spreadsheet.values.batchUpdate yöntemini kullanarak birden çok dönüşüm işlemi için bu yöntemi kullanmak satır veya hücre güncellemeleri alın.
Ayrıca Sheets API v4 ile hücre özelliklerini düzenleyebilir ve hücreleri biçimlendirmek için UpdateCells veya RepeatCell içindeki talep sayısı spreadsheets.batchUpdate.
Satır silme
Her iki API de satırların silinmesini destekler. Silinen bir satır altındaki satırlar bir yukarı itilir.
v3 API'sı
Bir satırı silmek için önce
liste feed'i
ve ardından satır girişinde sağlanan edit
URL'sine bir DELETE
isteği gönderin.
Bu, satırı güncellemek için kullanılan URL'dir.
DELETE https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version
Değiştirilmiş bir satırı silmediğinizden emin olmak için bunu aldığınızdan sonra başka bir istemci tarafından yapılan bir HTTP If-Match başlığı ekleyin orijinal satırın ETag değerini içeren bir satır öğesi seçin. Orijinal URL'yi, satır öğesinin ETag değerini bulmak için kullanabilirsiniz.
Başka bir kullanıcının güncelleme yapıp yapmadığına bakmadan satırı silmek istiyorsanız kullanın, ardından If-Match: * kullanın ve ETag'i eklemeyin. (Bu durumda, satırı silmeden önce geri almanız gerekmez.)
v4 API'sı
Sheets API v4 ile satır silme işlemi, bir spreadsheet.batchUpdate tarafından gerçekleştirilir. DeleteDimension kullanan bir yöntem çağrısı isteğinde bulunabilirsiniz. Bu istek, sütunları kaldırmak için de kullanılabilir ve geliştiriciler, ve bir satırın veya sütunun yalnızca bir kısmını kaldırmayı seçin. Örneğin, işlemi, belirtilen kimliğe (satır dizinleri) sahip bir sayfanın 6. satırını kaldırır sıfır tabanlıdır, startIndex'i içerir ve endIndex hariçtir):
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{ "requests": [ { "deleteDimension": { "range": { "sheetId": sheetId, "dimension": "ROWS", "startIndex": 5, "endIndex": 6 } } } ], }
Bir sayfanın sheetId özelliği spreadsheet.get yöntemidir.
Hücre verilerini alma
Sheets API v3, bir depoda depolanan tüm verilere temel erişim için bir
e-tablo kullanarak yapabilirsiniz. Okuma erişimi için, hücre feed'i tüm sayfayı sağlayabilir
bir dizi sorgu parametresi tarafından tanımlanan sayfa hücre aralığı,
yalnızca tek bir blok halinde yapılır. Ayrık aralıkların alınması gerekir.
ek GET
istekleri kullanılarak ayrı ayrı güncellenir.
Sheets API v4, bir sayfadaki herhangi bir hücre verisi kümesini (ör. ayrık aralık) ekleyebilirsiniz. Sheets API v3, hücre içeriğini yalnızca giriş değerleri (kullanıcının klavyeden gireceği şekilde) ve/veya formül (sayısalsa); Sheets API v4, değerlere tam erişim izni verir. formüller, biçimlendirme, köprüler, veri doğrulama ve diğer özellikler.
v3 API'sı
Belirli bir çalışma sayfasındaki hücre tabanlı feed'in URL'sini belirlemek için çalışma sayfası feed'i ve ilgili çalışma sayfası girişinde hücre feed'inin URL'sini bulun.
Hücre tabanlı bir feed almak için hücre feed'i URL'sine bir GET
isteği gönderin.
değiştirin. Örneğin:
GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full
Hücrelere, satır ve sütun numarası kullanılarak başvuruda bulunulur. Tek bir spesifik getiriliyor
aralık max-row
, min-row
, max-col
ve min-col
kullanılarak yapılabilir
sorgu parametreleridir. Örneğin, aşağıda belirtilen sütundaki tüm hücreleri alır
2. satırdan itibaren 4 (D):
GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full ?min-row=2&min-col=4&max-col=4
Sheets API v3, alınan hücrelerin inputValue
değerini döndürür.
kullanıcının Google E-Tablolar kullanıcısına yazacağı değer
arayüzün yerini alır. inputValue
, değişmez bir değer olabilir
kullanabilirsiniz. API bazen bir numericValue
döndürür; örneğin,
formül bir sayıyla sonuçlandığında. Örneğin, bir yanıtta
aşağıdakine benzer bir yapıda girişler oluşturabilirsiniz:
<entry gd:etag='"ImB5CBYSRCp7"'>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4</id>
<updated>2006-11-17T18:27:32.543Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#cell"/>
<title type="text">D4</title>
<content type="text">5</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4/srevc"/>
<gs:cell row="4" col="4" inputValue="=FLOOR(C4/(B4*60),.0001)"
numericValue="5.0">5</gs:cell>
</entry>
v4 API'sı
Bir spreadsheets.values.get veya spreadsheets.values.batchGet yöntemini kullanın. Örneğin, aşağıdaki satır 2 ile başlayan "Sayfa2"nin D sütunundaki hücreleri döndürür. sütun-ana sıraya ve girildiği şekliyle döndüren formüllere göre (boşluktan geçiyor) hücreler atlanır):
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet2!D2:D?majorDimension=COLUMNS&valueRenderOption=FORMULA
Bu isteğe verilen yanıt yapı olarak şuna benzer:
{ "spreadsheetId": spreadsheetId, "valueRanges": [ {"range": "Sheet2!D2:D", "majorDimension": "COLUMNS", "values": [["Widget", 234, "=FLOOR(C4/(B4*60),.0001)", "=D4\*1000"]] }] }
Kullanımı daha verimli spreadsheet.values.batchGet birden fazla hücre verisi aralığı almayı planlıyorsanız. Şunu istiyorsanız: biçimlendirme, veri alışverişi ve spreadsheet.get yönteminin kullanılması gerekir.
Hücreyi düzenleme
Sheets API v3, web sayfası için bir PUT
komutu vererek hücre içeriğini düzenlemenize olanak tanır.
istek gövdesi olarak, değiştirilmiş hücre girişini içeren hücre feed'i.
E-Tablolar API v4 ise spreadsheets.values.update ve spreadsheets.values.batchUpdate yöntemlerine göz atacağız.
v3 API'sı
Tek bir hücrenin içeriğini düzenlemek için önce
hücre feed'i.
Giriş, bir düzenleme URL'si içeriyor. Girişi, içeriği yansıtacak şekilde güncelleyin
istediğiniz verileri seçip URL'yi düzenleme URL'sine bir PUT
isteği gönderin
istek gövdesi olarak, güncellenmiş hücre girişini yazın. Örneğin,
hücre D2'yi (R2C4) bir SUM
formülü içerecek şekilde günceller:
PUT https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full//R2C4/srevc<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gs="http://schemas.google.com/spreadsheets/2006"> <id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4</id> <link rel="edit" type="application/atom+xml" href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4"/> <gs:cell row="2" col="4" inputValue="=SUM(A1:B6)"/> </entry>
v4 API'sı
Sheets API v4'te tek hücre düzenleme işlemi
spreadsheets.values.update
yöntemidir. Bu yöntem, ValueInputOption
sorgu parametresi gerektirir.
giriş verilerinin
E-Tablolar kullanıcı arayüzü (USER_ENTERED
) veya ayrıştırılmamış ve olduğu gibi alınmış (RAW
). Örneğin,
aşağıdaki örnekte gösterildiği gibi, D2 hücresi bir formülle güncellenir:
PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/D2?valueInputOption=USER_ENTERED
{"values": [["=SUM(A1:B6)"]]}
Birden çok hücre düzenlemesi yapıyorsanız spreadsheets.values.batchUpdate tek bir istekte bulunmak için farklı bir yöntem kullanır.
Toplu istek aracılığıyla birden fazla hücreyi düzenleme
Her iki API de birden çok hücrenin içeriğinde değişiklik yapmaya olanak tanır tek bir (toplu) istekle ekleyebilirsiniz. Toplu istek tarafından başvurulan hücreler zorunlu bir aralıkta olmak zorunda değildir.
Toplu işlemdeki bir veya daha fazla hücre düzenlemesinin başarısız olması durumunda Sheets API v3 diğerlerinin başarılı olmasını sağlar. Ancak Sheets API v4 hata döndürüyor güncellemelerden herhangi biri başarısız olursa ve söz konusu durumda bunların hiçbiri uygulanmaz.
v3 API'sı
Birden fazla hücreyi düzenlemek için önce bir hücre feed'i alın
çalışma sayfası için de kullanılabilecektir. Giriş, bir toplu URL içeriyor. POST
gönder
ve bu URL için istekte bulunduğunuz hücreleri açıklayan bir istek
hücrenin içeriğini güncelleyin. POST
isteği ve istek gövdesi
aşağıdakine benzer bir yapıya sahiptir:
POST https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/batch
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gs="http://schemas.google.com/spreadsheets/2006">
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full</id>
<entry>
<batch:id>request1</batch:id>
<batch:operation type="update"/>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4</id>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4/version"/>
<gs:cell row="2" col="4" inputValue="newData"/>
</entry>
...
<entry>
<batch:id>request2</batch:id>
<batch:operation type="update"/>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C5</id>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C5/version"/>
<gs:cell row="5" col="2" inputValue="moreInfo"/>
</entry>
</feed>
batch:id
alanı, gruptaki isteği benzersiz bir şekilde tanımlamalıdır.
Hücre düzenlemeleri için batch:operation
alanı update
olmalıdır. gs:cell
.
hücreyi satır ve sütun numarasına göre tanımlar ve yeni veriler sunar
dokunun. id
, güncellenecek hücrenin tam URL'sini içerir.
link
,href
hücre kimliği. Bu alanların tümü her giriş için zorunludur.
v4 API'sı
E-Tablolar API v4, spreadsheets.values.batchUpdate yöntemidir.
Birden çok hücreyi, şununla bir POST
isteği göndererek düzenleyebilirsiniz:
istek gövdesinde belirtilen veri değişiklikleri. Örneğin:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values:batchUpdate
{ "valueInputOption": "USER_ENTERED" "data": [ {"range": "D4", "majorDimension": "ROWS", "values": [["newData"]] }, {"range": "B5", "majorDimension": "ROWS", "values": [["moreInfo"]] } ] }
Aralık olarak tek bir hücre belirttiyseniz, sağlanan tüm değerler sol üst koordinat olarak ilgili hücreyle başlayarak sayfaya yazılır. Bunun yerine çok hücreli bir aralık belirtirseniz, sağladığınız değerlerin sığması gerekir. tam olarak bu aralığı kullanabiliriz. yoksa API hata döndürür.