Google Slides API ile sunu sayfalarına öğe ekleyebilir ve bu öğeleri değiştirebilirsiniz. Bu sayfadaki örneklerde, presentations.batchUpdate
yöntemi kullanılarak yaygın okuma işlemlerinin nasıl gerçekleştirileceği gösterilmektedir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID—Sunu kimliğini nerede sağladığınızı gösterir. Bu kimliğin değerini sunum URL'sinden öğrenebilirsiniz.
- PAGE_ID—Sayfa nesnesi kimliğini nerede sağladığınızı gösterir. Bu değerin URL'sini alabilir veya API okuma isteği kullanarak değeri edinebilirsiniz.
- PAGE_ELEMENT_ID: page element nesne kimliğini nerede sağladığınızı gösterir. Oluşturduğunuz öğeler için bu kimliği belirtebilirsiniz (bazı kısıtlamalarla) veya Slides API'nin otomatik olarak bir kimlik oluşturmasına izin verebilirsiniz. Öğe kimlikleri, API okuma isteğiyle alınabilir.
Bu örnekler, dilden bağımsız olması için HTTP istekleri olarak sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme işlemini nasıl uygulayacağınızı öğrenmek için Şekil ve metin ekleme başlıklı makaleyi inceleyin.
Slayta metin kutusu ekleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ID ile belirtilen bir
slayda yeni bir metin kutusu (dize "Eklediğim Metin Kutusu"nu içeren) eklemek için
CreateShapeRequest
yönteminin nasıl kullanılacağı gösterilmektedir. İstek gövdesinde iki istek belirtilir: biri metin kutusu şeklini (belirli bir boyut ve konumla) oluşturmak, ikincisi ise metin eklemek için.
İlk istek, metin kutusu için kullanılacak nesne kimliğini belirtir. Bu sayede ikinci istek, aynı API çağrısında kullanabilir ve ek yükü azaltır.
Slayta metin kutusu eklemek için kullanılan istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
Slayda resim ekleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ID ile belirtilen bir slayda resim eklemek için
CreateImageRequest
yönteminin nasıl kullanılacağı gösterilmektedir. API, IMAGE_URL kullanarak resmi alır. Bu istek, görseli slaytta ölçeklendirip konumlandırır.
Slayda resim eklemek için kullanılan istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
Sayfayı veya sayfa öğesini silme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ELEMENT_ID ile belirtilen sayfa öğesini ve PAGE_ID ile belirtilen slaytı iki ayrı istek kullanarak silmek için
DeleteObjectRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bir sayfayı veya sayfa öğesini silmek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
Belirli bir şekil içindeki metni düzenleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ELEMENT_ID ile belirtilen şekildeki metnin bir bölümünü değiştirmek için
DeleteTextRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Bunu yapmak için önce sıfır tabanlı startIndex
kullanarak metni silin, ardından bu konuma yeni metin ekleyin. Bu örnekte, orijinal metin dizesi "My Shape Text: ????" ifadesi "My Shape Text: Trapezoid" ile değiştiriliyor.
Bu istek yalnızca belirtilen şekil içindeki metni etkiler. Metni sunudaki her yerde değiştirmek için ReplaceAllTextRequest
yöntemini kullanın.
Belirli bir şekil içindeki metni düzenlemek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Şekil etiketini resimle değiştirme
Etiketler, "hesap-sahibi-adı" gibi benzersiz bir dize adına sahip metin kutuları veya şekillerdir.
Aşağıdaki
presentations.batchUpdate
kod örneğinde, bir şekil etiketinin tek bir örneğini resimle değiştirmek için
CreateImageRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Bu işlem sırasında aynı konum korunur ve resmin en-boy oranı korunarak etiket boyutuna uyacak şekilde ölçeklendirilir.
Bu istek, bir resmi başka bir resimle değiştirmek için de kullanılabilir. İstek, yeni resmi ekleyip etiketi silmekten oluşur.
CreateImageRequest
yöntemi yalnızca belirtilen şekli değiştirir. Bir sunudaki tüm şekilleri değiştirmek için ReplaceAllShapesWithImageRequest
yöntemini kullanın.
Şekil etiketinin aşağıdaki PageElement
özellikleri vardır (presentations.pages.get
isteği kullanılarak bulunabilir):
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
Şekil, PAGE_ID ile belirtilen slaytta yer alır. Şeklin yerini alacak resmi belirtmek için API, IMAGE_URL kullanarak resmi alır. Resim en boy oranını korurken etiketin boyutuyla sınırlamak için CreateImageRequest
yöntemi hem resim boyutunu etiket boyutu ve ölçeğinin çarpımı olarak hem de resim ölçek faktörlerini 1
olarak ayarlar. Daha fazla bilgi için En-boy oranını koruma başlıklı makaleyi inceleyin.
Şekil etiketini resimle değiştirmek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }