Google Slaytlar API'sinin faydalı bir uygulaması, bir veya daha fazla veri kaynağındaki bilgileri şablonlu bir slayt destesinde birleştirmektir.
Bu sayfada, harici bir kaynaktan alınan verilerin mevcut bir şablon sunuya nasıl ekleneceği açıklanmaktadır. Bu kavram, kelime işlemci ve e-tablo kullanılarak yapı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 sunu tasarımında kolayca ince ayar yapabilir. Bu, oluşturulan slayt tasarımını ayarlamak için uygulamanızdaki parametreleri ayarlamaktan çok daha kolaydır.
İçeriği sunumdan ayırmak, birçok avantajı olan iyi bilinen bir tasarım ilkesidir.
Temel bir yemek tarifi
Slaytlar API'sini kullanarak verileri bir sunuda nasıl birleştirebileceğinize dair bir örneği aşağıda bulabilirsiniz:
Tasarım konusunda size yardımcı olması için yer tutucu içerik kullanarak sununuzu istediğiniz gibi 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ı muhtemel olmayan dizeler kullandığınızdan emin olun. Örneğin,
{{account-holder-name}}
iyi bir etiket olabilir.Kodunuzda, sununun kopyasını oluşturmak için Google Drive API'yi kullanın.
Kodunuzda, sunu boyunca tüm metin değiştirmelerini gerçekleştirmek için bir dizi
replaceAllText
isteğiyle birlikte Slaytlar API'sininbatchUpdate
yöntemini kullanın. Sunum boyunca resim değiştirmek içinreplaceAllShapesWithImage
isteklerini kullanın.
Etiket içeren bir sunu oluşturduktan sonra, kopyasını oluşturduğunuzdan ve kopyayı değiştirmek için Slaytlar API'sini kullandığınızdan emin olun. Birincil "şablon " kopyanızı değiştirmek için Slides API'yi kullanmayın.
Aşağıdaki bölümlerde, bu sürecin bazı kısımlarını gösteren kod snippet'leri yer almaktadır. Ayrıca, aşağıdaki bölümlerdeki kavramların birçoğunun birleştirildiği eksiksiz bir örneği (Python) görmek için yukarıdaki videoyu da izleyebilirsiniz.
Metin birleştirme
Bir sunudaki belirli bir metin dizesinin tüm örneklerini yeni metinle değiştirmek için replaceAllText
isteği kullanabilirsiniz. Birleştirme işlemlerinde bu yöntem, metnin her bir örneğini tek tek bulup değiştirmekten daha kolaydır. Bu yaklaşımın en gelişmiş yöntem olmasının bir nedeni, sayfa öğesi kimliklerinin tahmin edilmesinin zor olmasıdır. Özellikle de ortak çalışanlar şablon sunumunu iyileştirip korudukça bu durum daha da zorlaşır.
Örnek
Bu örnekte, bir şablon sunuyu kopyalamak için Drive API'si kullanılarak sununun yeni bir örneği oluşturuluyor. Ardından, E-Tablolar API'sini kullanarak bir E-Tablolar e-tablosundaki verileri okur ve son olarak Slaytlar API'sini kullanarak yeni sunuyu günceller.
Örnek, e-tablodaki adlandırılmış bir aralığın bir satırındaki 3 hücreden veri alır. Ardından, {{customer-name}}
, {{case-description}}
veya {{total-portfolio}}
dizelerinin bulunduğu her yerde bu verileri sunuya yerleştirir.
Apps Komut Dosyası
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Görüntüleri birleştirme
Ayrıca, replaceAllShapesWithImage
isteği kullanarak resimleri sununuza birleştirebilirsiniz. Bu istek, sağlanan metin dizesini içeren şekillerin tüm örneklerini sağlanan resimle değiştirir. İstek, resmin en boy oranını korurken resmi otomatik olarak konumlandırır ve etiket şeklinin sınırlarına sığacak şekilde ölçeklendirir.
Örnek
Bu örnekte, bir şablon sunuyu kopyalamak için Google Drive API'si kullanılarak sununun yeni bir örneği oluşturulur. Ardından, metin içeren şekilleri bulmak ve bunları şirket logosu resmiyle değiştirmek için Slides API'yi kullanır.{{company-logo}}
İstek, {{customer-graphic}}
metnini içeren tüm şekilleri de 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 sunumdaki etiketleri değiştirmek için kullanışlıdır ancak bazen öğeleri yalnızca başka bir ölçüte göre (ör. belirli bir slaytta bulunma) değiştirmeniz gerekir.
Bu gibi durumlarda, değiştirmek istediğiniz etiket şekillerinin kimliklerini almanız gerekir. Metin değiştirmelerde, bu şekillerdeki mevcut metni silip yeni metni eklersiniz (bkz. Belirli bir şekle metin ekleme örneği).
Resim değiştirmeler daha karmaşıktır. Bir resmi birleştirmek için:
- Etiket şeklinin kimliğini alın.
- Etiketteki boyut ve dönüştürme bilgilerini kopyalayı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ğe de göz atın: Şekil etiketini resimle değiştirme.
En boy oranını koruma
Slaytlar API'sini kullanarak resim oluşturduğunuzda, en boy oranı yalnızca resim boyutuna göre belirlenir. Boyut ve dönüştürme verileri dikkate alınmaz. createImage
isteğinde sağladığınız boyut verileri, resmin istenen boyutu olarak kabul edilir. API, resmin en-boy oranını bu istenen boyuta göre ayarlar ve ardından sağlanan dönüşümü 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ı olarak ayarlanır - height: etiketin
height
vescaleY
değerlerinin çarpımı olarak ayarlanır. - scale_x:
1
olarak ayarlandı - scale_y:
1
olarak ayarlandı
Bu durum, Slides API'nin resmi ölçeklenmemiş boyutu yerine etiketin görsel boyutuna göre en boy oranına uygun şekilde yerleştirmesine neden olur (bkz. Şekil etiketini resimle değiştirme).
Ö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, etiket şekliyle aynı merkez noktasına sahip.
Şablonları yönetin
Uygulamanın tanımladığı ve sahip olduğu şablon sunular için uygulamayı temsil eden özel bir hesap kullanarak şablonu oluşturun. Hizmet hesapları, paylaşımı kısıtlayan Google Workspace politikalarıyla ilgili sorunları önlemek için iyi bir seçenektir.
Şablonlardan sunu örnekleri oluştururken her zaman son kullanıcı kimlik bilgilerini kullanın. Bu sayede kullanıcılar, ortaya çıkan sunum üzerinde tam kontrol sahibi olur ve Google Drive'daki kullanıcı başına sınırlarla ilgili ölçeklendirme sorunları önlenir.
Hizmet hesabı kullanarak şablon oluşturmak için uygulama kimlik bilgileriyle aşağıdaki adımları uygulayın:
- Slaytlar API'sindeki presentations.create yöntemini kullanarak sunu oluşturun.
- Drive API'de permissions.create kullanarak sunu alıcılarının okumasına izin verecek şekilde izinleri güncelleyin.
- Drive API'de permissions.create kullanarak şablon yazarlarının yazmasına izin verecek şekilde izinleri güncelleyin.
- Şablonu gerektiği gibi düzenleyin.
Sunumun bir örneğini oluşturmak için kullanıcı kimlik bilgileriyle aşağıdaki adımları uygulayın:
- Drive API'deki files.copy'yi kullanarak şablonun bir kopyasını oluşturun.
- Slaytlar API'sinde presentation.batchUpdate kullanarak değerleri değiştirin.