Google Slaytlar API'sinin faydalı bir uygulaması, bir veya daha fazla veri kaynağından gelen bilgileri şablonlu bir slayt sunumunda birleştirmektir.
Bu sayfada, harici bir kaynaktan nasıl veri alıp mevcut bir şablon sunusuna nasıl ekleyeceğiniz açıklanmaktadır. Bu kavram, kelime işlemci ve e-tablo kullanan posta birleştirme işlemine benzer.
Bu yaklaşımın faydalı olmasının birkaç nedeni vardır:
Tasarımcıların, Google Slaytlar düzenleyicisini kullanarak bir sununun tasarımında ince ayar yapması kolaydır. Bu, oluşturulan slayt tasarımını ayarlamak için uygulamanızdaki parametreleri ayarlamaktan çok daha kolaydır.
İçeriği sunudan ayırmak, birçok avantajı olan iyi bilinen bir tasarım ilkesine dayanır.
Temel bir tarif
Aşağıda, verileri bir sunu ile 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 sunuunuzu görünmesini istediğiniz şekilde oluşturun.
Ekleyeceğiniz her içerik öğesi için yer tutucu içeriği bir etiketle değiştirin. Etiketler, benzersiz bir dize içeren metin kutuları veya şekillerdir. Normalde oluşması olası olmayan dizelerden emin olun. Örneğin,
{{account-holder-name}}
iyi bir etiket olabilir.Kodunuzda, Google Drive API'yi kullanarak sununun kopyasını oluşturun.
Kodunuzda, Slaytlar API'nin
batchUpdate
yöntemini bir dizireplaceAllText
istekle birlikte kullanarak sunudaki tüm metin değiştirme işlemlerini gerçekleştirin. Sunum boyunca resim değiştirmek içinreplaceAllShapesWithImage
isteklerini kullanın.
Etiket içeren bir sunu oluşturduktan sonra, bir kopya oluşturmayı ve kopyada değişiklik yapmak için Slaytlar API'sini kullanmayı unutmayın. Birincil "şablon " kopyanızı değiştirmek için Slaytlar API'sini kullanmayın.
Aşağıdaki bölümlerde, bu sürecin bazılarını gösteren kod snippet'leri bulunmaktadır. Aşağıdaki bölümlerdeki kavramlardan birkaçını birleştiren eksiksiz bir örneği (Python) görmek için yukarıdaki videoyu da inceleyebilirsiniz.
Metni birleştirme
Bir replaceAllText
isteği kullanarak, bir sunudaki belirli bir metin dizesinin tüm örneklerini yeni metinle değiştirebilirsiniz. Birleştirmeler için bu, her metin örneğini tek tek bulup değiştirmekten daha kolaydır. Bu yaklaşımın en gelişmiş yaklaşım olmasının bir nedeni, özellikle ortak çalışanlar şablon sunumunu hassaslaştırıp sürdürürken sayfa öğesi kimliklerinin tahmin edilmesinin zor olmasıdır.
Örnek
Bu örnekte, bir şablon sunuyu kopyalamak için Drive API kullanılır ve sununun yeni bir örneği oluşturulur. Ardından, bir E-Tablolar e-tablosundaki verileri okumak için Google E-Tablolar API'yi ve son olarak yeni sunuyu güncellemek için Slaytlar API'yi kullanır.
Örnekte, e-tablodaki adlandırılmış bir aralığın bir satırındaki 3 hücreden veri alınır. Ardından, bu veriler {{customer-name}}
, {{case-description}}
veya {{total-portfolio}}
dizelerinin bulunduğu her yerde sunu içerisine yerleştirilir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Resimleri birleştirme
replaceAllShapesWithImage
isteğinde bulunarak da resimleri sununuza ekleyebilirsiniz. Bu istek, sağlanan metin dizesini içeren tüm şekil örneklerini sağlanan resimle değiştirir. İstek, resmin en boy oranını koruyarak 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ılır ve sununun yeni bir örneği oluşturulur. Ardından, {{company-logo}}
metnini içeren tüm şekilleri bulup bunları şirket logosu resmiyle değiştirmek için Slaytlar API'yi kullanır. İstek, {{customer-graphic}}
metnini içeren tüm şekilleri farklı bir resimle de 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 sunudaki etiketleri değiştirmek için kullanışlıdır ancak bazen öğeleri yalnızca başka ölçütlere göre (ör. belirli bir slaytta bulunma) değiştirmeniz gerekir.
Bu durumlarda, değiştirmek istediğiniz etiket şekillerinin kimliklerini almanız gerekir. Metin değiştirme işleminde, bu şekillerdeki mevcut metni silip yeni metni ekleyebilirsiniz (Belirli bir şekildeki metni düzenleme örneğine bakın).
Resim değiştirme işlemleri daha karmaşıktır. Bir resmi birleştirmek için:
- Etiket şeklinin kimliğini alın.
- Boyutu kopyalayın ve etiketteki bilgileri dönüştürün.
- Boyut ve dönüştürme bilgilerini kullanarak resminizi sayfaya ekleyin.
- Etiket şeklini silin.
Resmi istediğiniz boyuta ölçeklendirirken en boy oranını korumak için aşağıdaki bölümde açıklandığı gibi dikkatli olmanız gerekebilir. Ayrıca şu örneği inceleyin: Şekil etiketini resimle değiştirme.
En boy oranını koruma
Slaytlar API'sini kullanarak resim oluşturduğunuzda en boy oranları, boyut ve dönüştürme verilerine değil yalnızca resim boyutuna göre belirlenir. createImage
isteğinde sağladığınız boyut verileri, resmin istenen boyutu olarak kabul edilir. API, resmin en-boy oranını istenen boyuta sığdırır ve ardından sağlanan dönüştürme işlemini uygular.
Bir etiketi resimle değiştirirken resmin boyutunu ve ölçeğini 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 ayarlandı - scale_y:
1
olarak ayarlandı
Bu, Slaytlar API'nin resmi, ölçeklenmemiş boyutu yerine etiketin görsel boyutuna göre en boy oranına sığdırmasına neden olur (Bir şekil etiketini resimle değiştirme bölümüne bakın).
Ölçeklendirme parametrelerini 1
olarak ayarlamak, 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 sahip 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ıyla ilgili komplikasyonları önler.
Şablonlardan sunu örnekleri oluştururken her zaman son kullanıcı kimlik bilgilerini kullanın. Bu sayede kullanıcılar, oluşturulan sunu üzerinde tam kontrol sahibi olur ve Google Drive'daki 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'sinde presentations.create işlevini kullanarak bir sunu oluşturun.
- Drive API'de permissions.create işlevini kullanarak sununun alıcılarının sunuyu okumasına izin verecek şekilde izinleri güncelleyin.
- Drive API'de permissions.create'i kullanarak şablon yazarlarının şablona yazmalarına izin verecek şekilde 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'deki files.copy işlevini kullanarak şablonun bir kopyasını oluşturun.
- Slaytlar API'sinde presentation.batchUpdate'i kullanarak değerleri değiştirin.