Google Slaytlar API'sının kullanışlı bir uygulaması, bir veya daha fazla veri kaynağındaki bilgileri şablonlu bir slaytta birleştirmektir.
Bu sayfada, harici bir kaynaktan nasıl veri alabileceğiniz ve bu verileri mevcut bir şablon sunusuna nasıl ekleyebileceğinizi bulabilirsiniz. Kavram, kelime işlemci ve e-tablo kullanılan posta birleştirme işlemine benzer.
Bu yaklaşımın yararlı olmasının birkaç nedeni vardır:
Tasarımcılar, Google Slaytlar düzenleyicisini kullanarak bir sununun tasarımında ince ayar yapabilir. Bu, oluşturulan slayt tasarımını ayarlamak için uygulamanızdaki parametreleri ayarlamaktan çok daha kolaydır.
Sunumdan içerik ayırmak, birçok avantaja sahip, bilinen bir tasarım ilkesidir.
Basit bir tarif
Verileri sunuda birleştirmek için Slaytlar API'yi nasıl kullanabileceğinize dair bir örneği aşağıda bulabilirsiniz:
Tasarım konusunda size yardımcı olması için yer tutucu içeriği kullanarak, sununuzu görünmesini istediğiniz şekilde oluşturun.
Ekleyeceğiniz her içerik öğesi için yer tutucu içeriğini bir etiketle değiştirin. Etiketler, benzersiz bir dizeye sahip metin kutuları veya şekillerdir. Normalde gerçekleşmesi pek olası olmayan 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şikliklerini gerçekleştirmek için Slaytlar API'nin
batchUpdate
yöntemini bir dizireplaceAllText
istekle birlikte kullanın. Sunum boyunca resimlerde değişiklik yapmak içinreplaceAllShapesWithImage
isteklerini kullanın.
Etiket içeren bir sunu oluşturduktan sonra, bir kopya oluşturduğunuzdan ve kopyayı değiştirmek için Slaytlar API'yi kullandığınızdan emin olun. Slaytlar API'yi birincil "şablon" kopyanızı değiştirmek için kullanmayın.
Aşağıdaki bölümlerde, bu sürecin bir kısmını gösteren kod snippet'leri bulunmaktadır. Aşağıdaki ayrı bölümlerde yer alan kavramların birkaçını birleştiren eksiksiz bir örneği (Python) görmek için yukarıdaki videoyu da izleyebilirsiniz.
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, metnin her bir örneğini tek tek bulup değiştirmekten daha basittir. Bunun en karmaşık yaklaşımının nedenlerinden biri, özellikle ortak çalışanlar şablon sunumunu iyileştirip sürdürdüğünde sayfa öğesi kimliklerinin tahmin edilmesinin zor olmasıdır.
Örnek
Bu örnekte, bir şablon sunuyu kopyalayarak sununun yeni bir örneğini oluşturmak için Drive API kullanılır. Ardından, E-Tablolar e-tablosundaki verileri okumak için Google E-Tablolar API'sini, son olarak da yeni sunuyu güncellemek için Slaytlar API'sini kullanır.
Örnekte, e-tablodaki adlandırılmış bir aralığın bir satırında yer alan 3 hücreden veri alınır. Daha sonra {{customer-name}}
, {{case-description}}
veya {{total-portfolio}}
dizelerinin geçtiği her yerde bu verileri sunumda değiştirir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Resimleri birleştirme
Ayrıca, replaceAllShapesWithImage
isteği kullanarak resimleri sununuzda 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 otomatik olarak konumlandırıp etiket şeklinin sınırlarına sığacak şekilde ölçeklendirir.
Örnek
Bu örnekte, bir şablon sunumunu kopyalamak için Google Drive API'si kullanılmaktadır. Bu, sununun yeni bir örneğini oluşturur. Ardından Slaytlar API'sini kullanarak {{company-logo}}
metnini içeren herhangi bir şekli bulup şirket logosu resmiyle değiştirebilirsiniz. Ayrıca istek, {{customer-graphic}}
metniyle tüm şekilleri farklı bir resimle değiştirir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Belirli metin kutusu veya resim örneklerini değiştirme
replaceAllText
ve replaceAllShapesWithImage
istekleri, bir sunu boyunca etiketlerin değiştirilmesi için kullanışlıdır, ancak bazen öğeleri yalnızca belirli bir slaytta bulunma gibi başka ölçütlere göre değiştirmeniz gerekir.
Böyle durumlarda, değiştirmek istediğiniz etiket şekillerinin kimliklerini almanız gerekir. Metin değiştirme işlemleri için, bu şekillerdeki mevcut metni siler ve ardından yeni metni eklersiniz (Belirtilen şekildeki metni düzenleme bölümüne bakın).
Resim değiştirme işlemleri daha karmaşıktır. Bir resmi birleştirmek için:
- Etiket şeklinin kimliğini alın.
- Etiketteki boyutu ve dönüştürme bilgilerini kopyalayın.
- Boyut ve dönüştürme bilgilerini kullanarak resminizi sayfaya ekleyin.
- Etiket şeklini silin.
Resmin istenen boyuta ölçeklendirilmesi sırasında en boy oranının korunması, aşağıdaki bölümde açıklandığı gibi biraz dikkat gerektirebilir. Ayrıca şu örneğe de bakın: Şekil etiketini resimle değiştirme.
En boy oranını koru
Slaytlar API'yi kullanarak resim oluşturduğunuzda en boy uyumu, boyut ve dönüşüm verilerine değil, yalnızca resim boyutuna bağlıdır. createImage
isteğinde sağladığınız boyut verileri, 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 resimle değiştirirken resmin boyutunu ve ölçeklemesini aşağıdaki gibi ayarlayarak resmin en boy oranını korursunuz:
- width: Etiketin
width
vescaleX
değerlerinin çarpımına ayarlanır - height: Etiketin
height
vescaleY
değerlerinin çarpımına ayarlanır - scale_x:
1
olarak ayarlayın - scale_y:
1
olarak ayarlayın
Bu, Slaytlar API'nin resmin en boy oranını, resmin ö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 parametrelerinin 1
olarak ayarlanması, resmin iki kez ölçeklendirilmesini engeller.
Bu düzenleme, resmin en boy oranının korunmasını sağlar ve resmin, etiket şeklinin boyutunu aşmasını önler. Resim, etiket şekliyle aynı merkez noktasına sahiptir.
Şablonları yönetin
Uygulamanın tanımladığı ve sahibi olduğu şablon sunumları için şablonu, uygulamayı temsil eden özel bir hesap kullanarak oluşturun. Hizmet hesapları iyi bir seçimdir ve paylaşımı kısıtlayan Google Workspace politikalarından kaçınmak için önerilir.
Şablonlardan sunu örnekleri oluştururken her zaman son kullanıcı kimlik bilgilerini kullanın. Bu, kullanıcılara ortaya çıkan sunu üzerinde tam denetim sağlar ve Google Drive'daki kullanıcı başına sınırlarla ilgili ölçeklendirme sorunlarını önler.
Bir hizmet hesabı kullanarak şablon oluşturmak için uygulama kimlik bilgileriyle aşağıdaki adımları uygulayın:
- Slaytlar API'de presentations.create dosyasını kullanarak bir sunu oluşturun.
- Sunu alıcılarının Drive API'de permissions.create dosyasını kullanarak dosyayı okumasına izin vermek için izinleri güncelleyin.
- Şablon yazarlarının Drive API'de permissions.create dosyasını kullanarak yazmasına izin vermek için izinleri güncelleyin.
- Şablonu gerektiği gibi 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 dosyasını kullanarak şablonun bir kopyasını oluşturun.
- Slaytlar API'deki presentation.batchUpdate'i kullanarak değerleri değiştirin.