Google Slaytlar API'nin yararlı uygulamalarından biri, bir veya daha fazla veri kaynağındaki bilgileri şablonlu bir slayt grubunda birleştirmektir.
Bu sayfada, harici bir kaynaktan veri alıp mevcut bir şablon sunusuna nasıl ekleyebileceğinizi açıklanmaktadır. Kavram, kelime işlemci ve e-tablo kullanılan posta birleştirme işlemine benzer.
Bu yaklaşımın faydalı olmasının birkaç nedeni vardır:
Tasarımcılar Google Slaytlar düzenleyicisini kullanarak bir sununun tasarımında kolayca ince ayar yapabilirler. Bu, oluşturulan slayt tasarımını ayarlamak için uygulamanızda parametreleri ayarlamaktan çok daha kolaydır.
İçeriği sunumdan ayırmak, pek çok faydası olan bilinen bir tasarım ilkesidir.
Basit bir yemek tarifi
Aşağıda, verileri sunuda birleştirmek için Slaytlar API'yi nasıl kullanabileceğinize dair bir örnek verilmiştir:
Tasarım konusunda size yardımcı olması için yer tutucu içerik kullanarak sununuzu görünmesini istediğiniz şekilde oluşturun.
Yerleştireceğiniz her içerik öğesi için yer tutucu içeriği bir etiketle değiştirin. Etiketler, benzersiz bir dizeye sahip metin kutuları veya şekillerdir. Normalde oluşma olasılığı düşük dizeler kullandığınızdan emin olun. Örneğin,
{{account-holder-name}}
iyi bir etiket olabilir.Kodunuzda, sununun bir kopyasını oluşturmak için Google Drive API'yi kullanın.
Kodunuzda, sunu boyunca tüm metin değiştirme işlemlerini gerçekleştirmek için Slaytlar API'sinin bir dizi
replaceAllText
isteğiyle birliktebatchUpdate
yöntemini kullanın. Sunum boyunca resim değişiklikleri yapmak içinreplaceAllShapesWithImage
isteklerini kullanın.
Etiket içeren bir sunum oluşturduktan sonra, bir kopya oluşturduğunuzdan ve bu kopyayı değiştirmek için Slaytlar API'sini kullandığınızdan emin olun. Slaytlar API'sini kullanarak birincil "şablon" kopyanızı değiştirmeyin.
Aşağıdaki bölümlerde, bu sürecin bir kısmını gösteren kod snippet'leri bulunmaktadır. Ayrıca yukarıdaki videoyu izleyerek aşağıdaki bölümlerde yer alan kavramların birkaçını bir araya getiren eksiksiz bir örnek (Python) görebilirsiniz.
Metni birleştir
Bir sunudaki belirli bir metin dizesinin tüm örneklerini yeni metinle değiştirmek için replaceAllText
isteğini kullanabilirsiniz. Birleştirmelerde bu işlem, her metin örneğini tek tek bulup değiştirmekten daha basittir. Bunun en sofistike yaklaşımın bir nedeni, özellikle ortak çalışanlar şablon sunumunu hassaslaştırdığından ve sürdürdüğünden, sayfa öğesi kimliklerinin tahmin edilmesinin zor olmasıdır.
Örnek
Bu örnekte Drive API kullanılarak bir şablon sunusu kopyalanarak sununun yeni bir örneği oluşturulur. Ardından, E-Tablolar e-tablosundaki verileri okumak için Google Sheets API'yi kullanır ve son olarak da yeni sunuyu güncellemek için Slides API'yi kullanır.
Örnekte, e-tablodaki adlandırılmış bir aralığın bir satırındaki 3 hücreden veriler alınmıştır. Daha sonra {{customer-name}}
, {{case-description}}
veya {{total-portfolio}}
dizelerinin geçtiği her yerde bu verileri sunuda değiştirir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Resimleri birleştir
replaceAllShapesWithImage
isteği kullanarak resimleri sununuzda da birleştirebilirsiniz. Bu istek, sağlanan metin dizesini içeren tüm şekil örneklerini sağlanan resimle değiştirir. İstek, resmin en boy oranını korurken resmi etiket şeklinin sınırlarına sığacak şekilde otomatik olarak konumlandırır ve ölçeklendirir.
Örnek
Bu örnekte, bir şablon sunusunu kopyalamak için Google Drive API kullanılmaktadır. Bu sayede, sununun yeni bir örneği oluşturulur. Ardından, Slaytlar API'sini kullanarak {{company-logo}}
metnini içeren herhangi bir şekli bulup bunun yerine bir şirket logosu resmi alır. İstek, herhangi bir şekli {{customer-graphic}}
metniyle farklı bir resimle değiştirir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Belirli metin kutusunu veya resim örneklerini değiştirme
replaceAllText
ve replaceAllShapesWithImage
istekleri, bir sunu boyunca etiketlerin değiştirilmesi açısından kullanışlıdır ancak bazen öğeleri yalnızca belirli bir slaytta yer almak gibi başka bir ölçütlere göre değiştirmeniz gerekir.
Bu durumlarda, değiştirmek istediğiniz etiket şekillerinin kimliklerini almanız gerekir. Metin değiştirme işlemleri için, söz konusu şekillerdeki mevcut metni siler ve yeni metni eklersiniz (Belirtilen bir şekildeki metni düzenleme örneğini inceleyin).
Resim değiştirme işlemleri daha karmaşıktır. Resimde birleştirmek için:
- Etiket şeklinin kimliğini alın.
- Etiketteki boyutu ve bilgileri kopyalayın.
- Boyut ve dönüştürme bilgilerini kullanarak resminizi sayfaya ekleyin.
- Etiket şeklini silin.
Resmin istenen boyuta ölçeklendirirken en boy oranını korumak, aşağıdaki bölümde açıklandığı gibi biraz dikkatli olmayı gerektirebilir. Şu örneği de inceleyin: Şekil etiketini resimle değiştirme.
En boy oranını koru
Slaytlar API'sini kullanarak görüntü oluşturduğunuzda en boy oranı, boyut ve dönüşüm verilerine değil, yalnızca resmin boyutuna göre belirlenir. createImage
isteğinde sağladığınız boyut verisi, resmin istenen boyutu olarak kabul edilir. API, resmin en boy oranını istenen bu boyuta sığdırır ve ardından sağlanan dönüşümü uygular.
Bir etiketi bir resimle değiştirirken resmin boyutunu ve ölçeklendirmesini aşağıdaki gibi ayarlayarak resmin en boy oranını korursunuz:
- width: Etiketin
width
vescaleX
değerlerinin çarpımı olarak ayarlanır - height: etiketin
height
vescaleY
değerlerinin çarpımına ayarlanır - scale_x:
1
olarak ayarlanır - scale_y:
1
olarak ayarlanır
Bu durum, Slaytlar API'sinin, resmi ölçeklendirilmemiş boyutu yerine etiketin görsel boyutuna göre sığdırmasına neden olur (Şekil etiketini resimle değiştirme bölümüne bakın).
Ölçeklendirme parametrelerini 1
olarak ayarlamak, resmin iki kez ölçeklendirilmesini önler.
Bu düzenleme, resmin en boy oranının korunmasını sağlar ve resmin etiket şeklinin boyutunu aşmasını önler. Resim, etiketin şekliyle aynı merkez noktasına sahiptir.
Şablonları yönetin
Uygulamanın tanımladığı ve sahip olduğu şablon sunumları için, uygulamayı temsil eden özel bir hesap kullanarak şablonu oluşturun. Hizmet hesapları iyi bir seçenektir ve Google Workspace politikalarının paylaşımı kısıtlayan karışıklıklardan kaçınmasını sağlar.
Şablonlardan sunu örnekleri oluştururken her zaman son kullanıcı kimlik bilgilerini kullanın. Bu, kullanıcılara sonuç üzerinde tam kontrol sağlar ve Google Drive'da kullanıcı başına sınırlarla ilgili ölçeklendirme sorunlarını önler.
Hizmet hesabı kullanarak şablon oluşturmak için uygulama kimlik bilgileriyle aşağıdaki adımları uygulayın:
- Slaytlar API'de presentations.create'i kullanarak sunu oluşturun.
- Drive API'de permissions.create etiketini kullanarak sunu alıcılarının dosyayı okumasına izin vermek için izinleri güncelleyin.
- Şablon yazarlarının Drive API'de permissions.create etiketini kullanarak şablon yazmasına izin vermek için izinleri güncelleyin.
- Şablonu gereken şekilde düzenleyin.
Sununun bir örneğini oluşturmak için kullanıcı kimlik bilgileriyle aşağıdaki adımları uygulayın:
- Drive API'de files.copy'yi kullanarak şablonun bir kopyasını oluşturun.
- Slaytlar API'de presentation.batchUpdate'i kullanarak değerleri değiştirin.