Giriş

Google Slides 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 desteleri oluşturmak için Google Slaytlar API'siyle entegre edilebilir. Örneğin, bir veritabanındaki müşteri ayrıntılarını kullanabilir ve bunları önceden tasarlanmış şablonlar ve seçili yapılandırma seçenekleriyle birleştirerek sunumları manuel olarak oluşturmak için gereken sürenin çok daha kısa bir sürede tamamlayabilirsiniz.

API'ye genel bakış

Presentations koleksiyonu, sunudaki öğeleri almanıza ve güncellemenize olanak tanıyan yöntemler sunar.

Slaytlar API'si ile yapacağınız çalışmaların çoğu muhtemelen sunu oluşturma ve güncelleme ile ilgili olacaktır. Bu işlemi batchUpdate yöntemini kullanarak yaparsınız. Bu yöntem, aşağıdakiler gibi işlemler yapmanıza olanak tanıyan bir Request nesneleri listesi alır:

  • Slayt oluştur
  • Slaytlara şekil veya tablo gibi öğeler ekleme
  • Metin ekleme, değiştirme ve kaldırma
  • Öğelere dönüşüm 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 öğelerini içeren sayfalardan oluşur.

Bir sununun kimliği URL'den elde edilebilir:

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

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

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

Drive API'yi biliyorsanız presentationId, File 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 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 slayda eklenmelidir. Çoğu sunuda bir ana slayt bulunur ancak bazılarında birden fazla ana slayt olabilir veya hiç ana slayt olmayabilir.
Düzenler Düzenler, düzen kullanan slaytlarda sayfa öğelerinin varsayılan olarak nasıl düzenleneceğine dair bir şablon görevi görür. Her düzen bir ana öğeyle ilişkilendirilir.
Slaytlar Bu sayfalarda, kitlenize sunduğunuz içerikler yer alır. Çoğu slayt, ana ve düzene dayanır. Oluşturulan her slayt için hangi düzenin kullanılacağını belirtebilirsiniz.
Notlar Bu sayfalarda, sunum notları içeren bir şekil de dahil olmak üzere sunum notlarının içeriği yer alır. Her slaytın bir not sayfası vardır. Yalnızca konuşmacı notları şeklindeki metinler Slaytlar API'si ile değiştirilebilir.
Not ana slaytları Not ana slaytları, tüm not sayfaları için varsayılan metin stillerini ve sayfa öğelerini tanımlar. Not 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 kullanıma sunar:

Grup Tek bir birim olarak ele alınan bir grup sayfa öğesi. Bunlar birlikte taşınabilir, ölçeklendirilebilir ve döndürülebilir.
Şekil Dikdörtgenler, elipsler ve metin kutuları gibi düz görsel nesneler. Şekiller metin içerebildiğinden slayt oluşturmak için en sık kullanılan sayfa öğeleridir.
Resim Slaytlar'a aktarılmış bir grafik.
Video Slaytlar'a aktarılmış bir video.
Çizgi Görsel bir çizgi, eğri veya bağlayıcı.
Tablo İçerik ızgarası.
WordArt Şekle daha çok benzeyen görsel bir 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 toplu olarak gruplandırılır. Bu nedenle 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 gerçekleştirilecek tek bir istek türünü belirten bir veya daha fazla Request nesnesi alarak çalışır. Birçok farklı türde istek vardır. Farklı kategorilerde gruplandırılmış talep türlerinin dökümünü aşağıda bulabilirsiniz.

Slaytlarla ç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
Resimler 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 gövdesi döndürür. Bu gövde, Response içerir. Her yanıt, karşılık gelen istekle aynı dizini kullanır. Geçerli yanıtı olmayan isteklerde, o dizindeki yanıt boş olur. Çeşitli Create istekleri genellikle yanıt içerir. 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, sunum 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 öğesi oluştururken yeni nesne için isteğe bağlı olarak bir nesne kimliği belirtebilirsiniz. Bu sayede, aynı batchUpdate isteğinde bir nesne oluşturup değiştirebilir, Slides API'ye 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 süre takip etmek istediğinde, değişebileceği için nesne kimliğini kullanmayın. Daha fazla bilgi için aşağıdaki bölüme bakın.

Nesne kimliğini kullanmadan nesneleri takip etme

Slaytlar API isteği yaptığınızda nesne kimliği normalde korunur. (İstisnalar, yöntemin referans belgelerinde belirtilir.) Drive API ile sununun tamamının kopyasını oluşturduğunuzda nesne kimlikleri de korunur.

Ancak, bir sunu Slaytlar kullanıcı arayüzünde değiştirildikten sonra nesne kimliğinin değişmeden kalacağını garanti edemezsiniz. Örneğin, bir kullanıcı sayfa öğesini kopyalayıp yapıştırmak için Slaytlar kullanıcı arayüzünü kullanırsa ve ardından orijinalini silerse sayfa öğesi artık yeni bir benzersiz kimliğe sahip 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ı önermiyoruz. Bunun yerine, sunudaki nesneleri metin içeriklerine veya alternatif metinlerine göre bulmanız gerekir.

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