Giriş

Google Slaytlar API ile Google Slaytlar sunuları oluşturabilir ve bunları değiştirebilirsiniz.

Uygulamalar, kullanıcı ve sistem tarafından sağlanan verilerden otomatik olarak güzel slayt sunumları oluşturmak için Google Slaytlar API'siyle entegre olabilir. Örneğin, bir veritabanındaki müşteri ayrıntılarını kullanarak bunları önceden tasarlanmış şablonlarla ve seçili yapılandırma seçenekleriyle birleştirerek manuel olarak oluşturmanın zamanının çok kısa bir kısmında bitmiş sunumlar oluşturabilirsiniz.

API'ye genel bakış

Sunular koleksiyonu, sunudaki öğeleri almanıza ve güncellemenize olanak tanıyan yöntemler sağlar.

Slaytlar API'siyle yapacağınız çalışmaların çoğu muhtemelen sunu oluşturma ve güncelleme olacaktır. Bunu batchUpdate yöntemini kullanarak yaparsınız. Bu yöntem, aşağıdaki gibi işlemleri yapmanıza olanak tanıyan Request nesnelerinin bir listesini alır:

  • Slayt oluştur
  • Slaytlara şekil veya tablo gibi öğeler ekleme
  • Metin ekleme, değiştirme ve kaldırma
  • Öğelere dönüşüm işlemleri uygulama
  • Slaytların sırasını değiştirme

Daha fazla bilgi için Toplu güncellemeler başlıklı makaleyi inceleyin. API'nin nasıl kullanılacağına dair basit bir uçtan uca örnek için Başlangıç Kılavuzları'na bakın.

Sununun yapısı

Slaytlar API'sindeki bir sunu, sayfa öğeleri içeren sayfalardan oluşur.

Bir sununun kimliği URL'den alınabilir:

https://docs.google.com/presentation/d/presentationId/edit

Sunum kimliği, harf, sayı ve bazı özel karakterler içeren bir dizedir. Aşağıdaki normal ifade, bir Google E-Tablolar URL'sinden sunu kimliğini ayıklamak için kullanılabilir:

/presentation/d/([a-zA-Z0-9-_]+)

Drive API'yi biliyorsanız presentationId, Dosya kaynağının kimliğine karşılık gelir.

Sayfalar ve sayfa öğeleri, nesne kimlikleriyle tanımlanır.

Pages

Google Slaytlar'da aşağıdaki sayfa türleri bulunur:

Yüksek lisans Slayt ana şablonları, bu ana şablonu kullanan tüm slaytlarda görünen varsayılan metin stillerini, arka planı ve sayfa öğelerini tanımlar. Tüm slaytlarda görünmesi gereken sayfa öğeleri ana sayfaya eklenmelidir. Çoğu sununun bir ana sunusu vardır ancak bazı sunların birden fazla veya hiç ana sunusu olmayabilir.
Düzenler Düzenler, sayfa öğelerinin bir düzen kullanılarak slaytlarda varsayılan olarak nasıl düzenleneceği için şablon görevi görür. Her düzen bir ana sayfayla ilişkilendirilir.
Slaytlar Bu sayfalar, kitlenize sunduğunuz içeriği içerir. Çoğu slayt, bir ana sayfaya ve bir düzene dayanır. Her slayt oluşturulurken kullanılacak düzeni belirtebilirsiniz.
Notlar Bu sayfalar, slayttaki konuşmacı notlarını içeren bir şekil de dahil olmak üzere sunuş dağıtımlarının içeriğini içerir. Her slaytın bir not sayfası vardır. Slaytlar API'si ile yalnızca konuşmacı notları şeklindeki metin değiştirilebilir.
Notlar üst öğeleri Not ana sayfaları, tüm not sayfaları için varsayılan metin stillerini ve sayfa öğelerini tanımlar. Not ana sayfaları, Slaytlar API'sinde salt okunurdur.

Sayfa öğeleri

Sayfa öğeleri, sayfalara yerleştirilen görsel bileşenlerdir. API, çeşitli türde sayfa öğeleri gösterir:

Grup Bağımsız bir birim olarak ele alınan bir sayfa öğesi grubu. Bunlar birlikte taşınabilir, ölçeklendirilebilir ve döndürülebilir.
Şekil Dikdörtgen, elips ve metin kutusu gibi düz bir görsel nesne. Şekiller metin içerebildiğinden slayt oluşturmak için en yaygın sayfa öğeleridir.
Resim Slaytlar'a aktarılan bir grafik.
Video Slaytlar'a aktarılan bir video.
Çizgi Görsel bir çizgi, eğri veya bağlayıcı.
Tablo İçerik ızgarasıdır.
WordArt Daha çok bir şekle benzeyen görsel metin öğesi.
SheetsChart Google E-Tablolar'dan Slaytlar'a aktarılan bir grafik.

Toplu güncellemeler

batchUpdate yöntemi, bir sununun birçok yönünü güncellemenize olanak tanır. Değişiklikler bir grupta gruplandırılır. Böylece, bir istek başarısız olursa diğer (bağlı olabilecek) değişikliklerin hiçbiri yazılmaz.

batchUpdate yöntemi, her biri gerçekleştirilecek tek bir istek türünü belirten bir veya daha fazla Request nesnesi alarak çalışır. Birçok farklı istek türü vardır. Talep türlerinin farklı kategorilere göre ayrılmış dökümünü aşağıda bulabilirsiniz.

Slaytlar ile çalışma: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
Sayfa öğeleriyle çalışma: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
Tablolarla çalışma: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
Grafiklerle çalışma: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
Resim ve videolarla çalışma: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
Metinle çalışma: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate yöntemi, her istek için bir Yanıt içeren bir yanıt gövdesi döndürür. Her yanıt, ilgili istekle aynı dizini kaplar. Geçerli yanıtı olmayan istekler için söz konusu dizindeki yanıt boş olur. Çeşitli Create isteklerinin genellikle yanıtları vardır. Böylece, yeni eklenen nesnenin kimliğini öğrenebilirsiniz.

Nesne kimlikleriyle çalışma

Slaytlar API'sindeki bir sunu, sayfalardan ve sayfa öğelerinden oluşur. Bu nesneler, bir sunu içinde benzersiz olan bir nesne kimliği dizesi içerir.

Nesne kimliklerini oluşturma sırasında belirtme

batchUpdate yöntemini kullanarak sayfa veya sayfa öğeleri oluştururken isteğe bağlı olarak yeni nesne için bir nesne kimliği belirtebilirsiniz. Bu sayede, bir nesne oluşturup aynı batchUpdate isteği içinde değiştirebilir, böylece Slaytlar API'sine yapılan çağrı sayısını en aza indirebilir ve kota kullanımını azaltabilirsiniz.

Çoğu durumda rastgele bir nesne kimliği oluşturmanızı öneririz. Örneğin, Java kullanıyorsanız java.util.UUID.randomUUID().toString() iyi çalışır.

Uygulamanız nesneleri daha uzun bir süre boyunca takip etmek istediğinde, nesne kimliğine güvenmeyin çünkü bu kimlik değişebilir. Daha fazla bilgi için aşağıdaki bölüme bakın.

Nesne kimliğini kullanmadan nesneleri takip etme

Slaytlar API isteği gönderdiğinizde nesne kimliği genellikle korunur. (İstisnalar, yöntemin referans dokümanlarında belirtilir.) Drive API ile bir sununun tamamının kopyasını oluşturmak da nesne kimliklerini korur.

Ancak, bir sunu Slaytlar kullanıcı arayüzünde değiştirildikten sonra nesne kimliğinin değişmeyeceğini varsayamazsınız. Örneğin, bir kullanıcı bir sayfa öğesini kopyalayıp yapıştırmak için Slaytlar kullanıcı arayüzünü kullanıp orijinali silerse sayfa öğesinin yeni bir benzersiz kimliği olur ve daha önce API aracılığıyla sağladığınız kimlik kaybolur. Bu nedenle, nesne kimliklerini uygulamanızın depolama alanında saklamanızı önermeyiz. Bunun yerine, metin içeriğine veya alternatif metnine göre sunuda nesneleri bulmanız gerekir.

Yeni oluşturulan sunumlarda genellikle varsayılan slaytlar, ana şablonlar ve metin kutuları için tutarlı bir kimlik grubu kullanılır. Bu kimlikler zaman içinde değişebileceğinden bu özelliğe güvenmenizi önermeyiz. Bunun yerine, create() veya get() çağrıları tarafından döndürülen sunu nesnesini kullanarak değiştirmek istediğiniz öğeleri bulun.