Google Slaytlar API'si metin kutuları, resimler, tablolar, temel şekiller, çizgiler ve yerleştirilmiş videolar dahil olmak üzere bir PageElement
kaynağı oluşturup düzenlemenize olanak tanır. Bu sayfadaki örneklerde, presentations.batchUpdate
yöntemi kullanılarak yapılan bazı yaygın sayfa öğesi işlemleri gösterilmektedir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID: Sunu kimliğini sağladığınız yeri belirtir. Bu kimliğin değerini sunu URL'sinden alabilirsiniz.
- PAGE_ID: Sayfa nesnesi kimliğini sağladığınız yeri gösterir. Bunun değerini URL'den veya API okuma isteği kullanarak alabilirsiniz.
- PAGE_ELEMENT_ID: Sayfa öğesi nesne kimliğini sağladığınız yeri belirtir. Oluşturduğunuz öğeler için bu kimliği belirtebilir (bazı kısıtlamalarla birlikte) veya Slides API'nin otomatik olarak kimlik oluşturmasına izin verebilirsiniz. Öğe kimlikleri, API okuma isteği aracılığıyla alınabilir.
Bu örnekler, dilden bağımsız olarak HTTP istekleri olarak sunulur. Google API istemci kitaplıklarını kullanarak bir toplu güncellemeyi farklı dillerde nasıl uygulayacağınızı öğrenmek için aşağıdaki kılavuzlara bakın:
Metin kutusuna madde işaretli liste ekleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, PAGE_ELEMENT_ID ile belirtilen boş bir metin kutusuna metin eklemek için InsertTextRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Daha sonra örnek, tüm metin kutusu metnini madde işaretli bir listeye dönüştürmek için CreateParagraphBulletsRequest
yöntemini kullanır. Listedeki öğeler \n
karakterle ayrılırken girinti \t
karakterle kontrol edilir.
Aşağıda sunu oluşturmak için kullanılacak istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3", "insertionIndex": 0 }, "createParagraphBullets": { "objectId": PAGE_ELEMENT_ID, "bulletPreset": "BULLET_ARROW_DIAMOND_DISC", "textRange": { "type": "ALL" } } } ] }
Bu istek, aşağıdaki gibi bir madde işaretli liste oluşturabilir:
Slayta şekil ekleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, PAGE_ID tarafından belirtilen bir slayta dalga şekli eklemek için CreateShapeRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bu istek, şekil türünü belirtir ve ardından slayttaki şekli ölçeklendirir ve konumlandırır. Daha sonra InsertTextRequest
yöntemini kullanarak bu şekle metin ekler. İstek, satırın kimliğini PAGE_ELEMENT_ID olarak ayarlar.
Aşağıda, bir slayta şekil eklemek için gereken istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 0.6807, "scaleY": 0.4585, "translateX": 6583050, "translateY": 1673950, "unit": "EMU" } }, "shapeType": "WAVE" } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Wave Shape", "insertionIndex": 0 } } ] }
Slayta video ekleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, PAGE_ID tarafından belirtilen bir slayta video yerleştirmek için CreateVideoRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bu istek, videoyu slaytta ölçeklendirip konumlandırır ve videonun kimliğini PAGE_ELEMENT_ID olarak ayarlar. Kaynak videonun benzersiz tanımlayıcısı VIDEO_ID olarak ayarlanmıştır. Örneğin, https://www.youtube.com/watch?v=7U3axjORYZ0
adresindeki YouTube videosu 7U3axjORYZ0
kimliğine sahip.
Slayta video eklemek için gereken istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createVideo": { "objectId": PAGE_ELEMENT_ID, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 12000, "unit": "EMU" }, "height": { "magnitude": 9000, "unit": "EMU" } }, "transform": { "scaleX": 381, "scaleY": 381, "translateX": 152400, "translateY": 152400, "unit": "EMU" } }, "source": "YOUTUBE", "id": VIDEO_ID } } ] }
Öğeleri kopyalama ve düzenleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, mevcut bir şekli almak (PAGE_ELEMENT_ID ile belirtilir) ve kopya oluşturmak (COPY_ELEMENT_ID ile belirtilir) için DuplicateObjectRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Sonraki istekler, kopya nesnede aşağıdaki değişiklikleri yapar:
- Arka plan rengini
LIGHT2
tema rengine ayarlar. - Kopyayı sayfanın aşağısına taşır (orijinal şeklin konumundan).
- Metin yazı tipini 18 pt Georgia olarak ayarlar.
- Metni "Şekil Kopyam" olarak okuyacak şekilde düzenler.
Buradaki istekler, değiştirilmeyen şekil özelliklerini (anahat stili gibi) korumak için alan maskeleri kullanır. Alan maskelerinin kullanılması da performansı artırır.
Slayt kopyalama hakkında daha fazla bilgi için Slayt kopyalama örneğine bakın.
Aşağıda, bir öğeyi kopyalamak ve düzenlemek için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "duplicateObject": { "objectId": PAGE_ELEMENT_ID, "objectIds": { PAGE_ELEMENT_ID: COPY_ELEMENT_ID } } }, { "updateShapeProperties": { "objectId": COPY_ELEMENT_ID, "fields": "shapeBackgroundFill.solidFill.color", "shapeProperties": { "shapeBackgroundFill": { "solidFill": { "color": { "themeColor": "LIGHT2" } } } } } }, { "updatePageElementTransform": { "objectId": COPY_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 0, "translateY": 1250000, "unit": "EMU" } } }, { "updateTextStyle": { "objectId": COPY_ELEMENT_ID, "fields": "fontFamily,fontSize", "textRange": { "type": "ALL" }, "style": { "fontFamily": "Georgia", "fontSize": { "magnitude": 18, "unit": "PT" } } } }, { "deleteText": { "objectId": COPY_ELEMENT_ID, "textRange": { "type": "ALL" } } }, { "insertText": { "objectId": COPY_ELEMENT_ID, "text": "My Shape Copy", "insertionIndex": 0 } } ] }
Bu güncellemelerden sonra şeklin ve kopyasının nasıl görünebileceği aşağıda gösterilmektedir:
Resim veya videonun ana hatlarını düzenleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, IMAGE_ELEMENT_ID ile belirtilen bir resmin dış çizgi görünümünü güncellemek için UpdateImagePropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ayrıca, VIDEO_ELEMENT_ID tarafından belirtilen yerleştirilmiş bir videonun dış çizgi görünümünü güncellemek için UpdateVideoPropertiesRequest
yöntemini kullanır.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Resmin ana hatlarını, kısmi şeffaflıkla
ACCENT5
tema rengine ayarlar. - Videonun dış çizgi rengini şeffaflık olmadan
ACCENT1
tema rengine ayarlar. - Dış çizgi ağırlıklarını her ikisi için de 3 nk olarak ayarlar.
- Görsel anahat stilini
SOLID
olarak ayarlar. - Videonun dış çizgi stilini
DASH_DOT
olarak ayarlar.
Hem UpdateImagePropertiesRequest
yöntemi hem de UpdateVideoPropertiesRequest
yöntemi, yalnızca resim ve video ana hatlarının görünümünü değiştirebilir. Diğer tüm özellikler salt okunurdur. Buradaki istekler, kodu gelecekteki API değişikliklerine karşı korumak için yalnızca ana hatların değiştirilmesi gerektiğini belirtmek için alan maskelerini kullanır. Alan maskelerinin kullanılması da performansı artırır.
Aşağıda, bir resmin veya videonun ana hatlarını düzenlemek için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateImageProperties": { "objectId": IMAGE_ELEMENT_ID, "fields": "outline", "imageProperties": { "outline": { "dashStyle": "SOLID", "outlineFill": { "solidFill": { "alpha": 0.8, "color": { "themeColor": "ACCENT5" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } }, { "updateVideoProperties": { "objectId": VIDEO_ELEMENT_ID, "fields": "outline", "videoProperties": { "outline": { "dashStyle": "DASH_DOT", "outlineFill": { "solidFill": { "alpha": 0.8, "color": { "themeColor": "ACCENT1" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } } ] }
Bu güncellemelerden sonra bir resmin ve yerleştirilmiş videonun nasıl görünebileceği aşağıda gösterilmektedir:
Şeklin ana hatlarını düzenleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, mevcut bir şekli (PAGE_ELEMENT_ID ile belirtilir) almak için UpdateShapePropertiesRequest
yönteminin nasıl kullanılacağı gösterilmiştir ve dış çizgisinin görünümü güncellenir.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Dış çizgi rengini, kısmi şeffaflıkla
ACCENT5
tema rengine ayarlar. - Dış çizgi ağırlığını 3 nk. olarak ayarlar.
- Dış çizgi stilini
LONG_DASH
olarak ayarlar.
Buradaki istekler, değiştirilmeyen şekil özelliklerini (şekil dolgu rengi gibi) korumak için alan maskeleri kullanır. Alan maskelerinin kullanılması da performansı artırır.
Aşağıda, bir şeklin ana hatlarını düzenlemek için kullanılabilecek istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateShapeProperties": { "objectId": PAGE_ELEMENT_ID, "fields": "outline", "shapeProperties": { "outline": { "dashStyle": "LONG_DASH", "outlineFill": { "solidFill": { "alpha": 0.6, "color": { "themeColor": "ACCENT5" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } } ] }
Bu güncellemelerden sonra şekiller şu şekilde görünebilir:
Şekil veya metin kutusundaki metni biçimlendirme
Aşağıdaki presentations.batchUpdate
kod örneğinde, mevcut bir şekli (PAGE_ELEMENT_ID ile belirtilir) almak için UpdateTextStyleRequest
yönteminin nasıl kullanılacağı gösterilmiştir ve metnin görünümünü günceller.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Metin rengini
ACCENT5
tema rengine ayarlar. - Yazı tipini kalın, italik 18 punto Corsiva olacak şekilde ayarlar.
- Metnin altını çizer.
Buradaki istekler, değiştirilmeyen metin stili özelliklerini (arka plan rengi, bağlantılar veya referans değer ofsetleri gibi) korumak için alan maskeleri kullanır. Alan maskelerinin kullanılması performansı da artırır.
Aşağıda, şekil veya metin kutusundaki metni biçimlendirmek için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTextStyle": { "objectId": PAGE_ELEMENT_ID, "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline", "style": { "foregroundColor": { "opaqueColor": { "themeColor": "ACCENT5" } }, "bold": true, "italic": true, "underline": true, "fontFamily": "Corsiva", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" } } } ] }
Bu güncellemelerden sonra şekil metni şu şekilde görünebilir:
Google E-Tablolar'dan grafik içe aktarma
Aşağıdaki presentations.batchUpdate
kod örneğinde, bir sayfadaki grafiği içe aktarmak ve PAGE_ID ile belirtilen bir slayta yerleştirmek için CreateSheetsChartRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
İstek, e-tablo kimliğini (SPREADSHEET_ID ile belirtilir) ve e-tablo grafik kimliğini (SPREADSHEET_CHART_ID ile belirtilir) gerektirir. Slaytlar sunusundaki grafik kimliği PRESENTATION_CHART_ID tarafından belirtilir.
İstek, Slaytlar grafiğindeki LinkingMode
değerini de LINKED
olarak ayarlar. Böylece, kaynak e-tablodaki grafik güncellenirse yerleştirilmiş grafiği güncelleyebilirsiniz.
Aşağıda, E-Tablolar'dan grafik içe aktarmak için kullanılacak istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSheetsChart": { "objectId": PRESENTATION_CHART_ID, "spreadsheetId": SPREADSHEET_ID, "chartId": SPREADSHEET_CHART_ID, "linkingMode": "LINKED", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 4000000, "unit": "EMU" }, "height": { "magnitude": 4000000, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 100000, "translateY": 100000, "unit": "EMU" } } } ] }
Bir grafiği E-Tablolar'dan yenileme
Aşağıdaki presentations.batchUpdate
kod örneğinde, sunudaki bağlı bir grafiği yenilemek ve E-Tablolar kaynak e-tablosundaki ilgili grafiğin en son sürümüyle değiştirmek için RefreshSheetsChartRequest
yönteminin nasıl kullanılacağı gösterilmektedir. İstek, Slaytlar sunusunda grafik kimliği gerektirir (PRESENTATION_CHART_ID ile belirtilir).
Aşağıda, E-Tablolar'daki bir grafiği yenilemek için gereken istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }