Giriş

Google Slaytlar API'si, Google Slaytlar sunuları oluşturmanıza ve bu sunularda değişiklik yapmanıza olanak tanır.

Uygulamalar, kullanıcı ve sistem tarafından sağlanan verilerden otomatik olarak göz alıcı slayt grupları oluşturmak için Google Slaytlar API'siyle entegre edilebilir. Örneğin, bir veritabanındaki müşteri bilgilerini kullanabilir ve bunları önceden tasarlanmış şablonlarla ve seçili yapılandırma seçenekleriyle birleştirerek manuel olarak oluşturulan sunuların çok kısa bir sürede bitmiş sunumlarını oluşturabilirsiniz.

API'ye Genel Bakış

Sunular koleksiyonu, sunu içindeki öğeleri almanızı ve güncellemenizi sağlayan yöntemler sağlar.

Slaytlar API'si ile ilgili çalışmalarınızın çoğu muhtemelen sunular oluşturup güncelliyor olacaktır. Bu işlemi batchUpdate yöntemini kullanarak yaparsınız. Bu yöntem, aşağıdaki gibi işlemleri yapmanıza olanak tanıyan Request (İstek) nesnelerinin bir listesini alır:

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

Daha ayrıntılı bilgi için Toplu güncellemeler bölümüne bakın. API'nin nasıl kullanılacağına dair basit bir uçtan uca örnek için Başlangıç kılavuzlarını inceleyin.

Sunumun yapısı

Slaytlar API'sindeki sunum, 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 harfler, sayılar ve bazı özel karakterleri 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 hakkında bilgi sahibiyseniz presentationId, Dosya kaynağının kimliğine karşılık gelir.

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

Pages

Google Slaytlar aşağıdaki türlerde sayfalara sahiptir:

Yüksek lisans Ana slaytlar; bu ana slaytı 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 slayta eklenmelidir. Çoğu sunuda bir ana slayt bulunur ancak bazı sunularda birkaç ana slayt olabilir veya hiç ana slayt olmayabilir.
Düzenler Düzenler, sayfa öğelerinin slaytlarda varsayılan olarak nasıl düzenleneceği konusunda bir şablon işlevi görür. Her düzen bir ana slaytla ilişkilendirilir.
Slaytlar Bu sayfalarda kitlenize sunduğunuz içerik yer alır. Çoğu slaytta bir ana slayt ve bir düzen temel alınır. Oluşturulan her slayt için hangi düzenin kullanılacağını belirtebilirsiniz.
Notlar Bu sayfalarda, slayttaki konuşmacı notlarını içeren bir şekil de dahil olmak üzere sunum materyallerinin içeriği bulunur. Her slayta karşılık gelen bir notlar sayfası vardır. Slaytlar API ile yalnızca konuşmacı notları şeklindeki metinler değiştirilebilir.
Notlar ana slaytları Notlar ana slaytları, tüm not sayfaları için varsayılan metin stillerini ve sayfa öğelerini tanımlar. Notlar ana slaytları, Slaytlar API'sinde salt okunurdur.

Sayfa öğeleri

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

Grup Ayrı bir birim olarak değerlendirilen sayfa öğelerinden oluşan bir grup. Bunlar birlikte taşınabilir, ölçeklendirilebilir ve döndürülebilir.
Şekil Dikdörtgenler, üç nokta ve metin kutuları gibi düz bir görsel nesne. Şekiller metin içerebileceği için, slayt oluşturmak amacıyla en yaygın kullanılan 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 tablosu.
WordArt Şekil gibi davranan bir görsel metin öğesi.
E-TablolarGrafiği Google E-Tablolar'dan Slaytlar'a aktarılan bir grafik.

Toplu güncellemeler

batchUpdate yöntemi bir sununun birçok özelliğini güncellemenize olanak tanır. Değişiklikler grup halinde gruplandırılır. Böylece bir istek başarısız olursa diğer (potansiyel olarak bağımlı) değişikliklerin hiçbiri yazılmaz.

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

Slaytlar'la çalışma: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
Sayfa Öğeleriyle Çalışma: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
Tablolarla çalışma: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnRequest (Tablo Sütunlarını Ekle İsteği)
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
Grafiklerle Çalışma: CreateSheetsChartRequest
YenileSheetsChartRequest
ModifyAllShapesWithSheetsChartRequest
DeleteObjectRequest
Resimler ve Videolarla Çalışma: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
Metin Üzerinde Çalışma: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
ParagraphMaddelerini Silme İsteği
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, karşılık gelen istekle aynı dizinde yer alır. Geçerli bir yanıtı olmayan istekler için söz konusu dizindeki yanıt boş olur. Yeni eklenen nesnenin kimliğini bilmeniz için çeşitli Create isteklerinin normalde yanıtları vardır.

Nesne kimlikleriyle çalışma

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

Oluşturma sırasında nesne kimliklerini 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, bir nesne oluşturmanıza ve bunu aynı containerUpdate isteği içinde değiştirmenize olanak tanır. Böylece Slaytlar API'ye yapılan çağrıların sayısı en aza indirilir ve kota kullanımı azaltılır.

Ç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ışacaktır.

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

Nesne kimliğini kullanmadan nesneleri takip etme

Bir Slaytlar API'si isteğinde bulunduğunuzda, normalde nesne kimliği korunur. (Tüm istisnalar yöntemin referans belgelerinde belirtilmiştir.) Drive API ile sununun tamamının bir kopyasını oluşturduğunuzda nesne kimlikleri de korunur.

Bununla birlikte, bir sunu Slaytlar kullanıcı arayüzünde değiştirildikten sonra nesne kimliğinin değişmesini isteyemezsiniz. Örneğin, bir kişi bir sayfa öğesini kopyalayıp yapıştırmak için Slaytlar kullanıcı arayüzünü kullanır ve ardından orijinal öğeyi 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 depolamanızı önermeyiz. Bunun yerine, sunudaki nesneleri metin içeriğine veya alternatif metne göre bulmalısınız.

Yeni oluşturulan sunular; varsayılan slaytlar, ana slaytlar ve metin kutuları için normalde tutarlı bir kimlik grubu kullanır. Bu kimlikler zaman içinde değişebildiğinden bu özelliği kullanmanızı önermiyoruz. Bunun yerine, create() veya get() çağrılarının döndürdüğü sunu nesnesini kullanarak değiştirmek istediğiniz öğeleri bulun.