Google Slaytlar API'si, metin kutuları, resimler, tablolar, temel şekiller, çizgiler ve yerleştirilmiş videolar dahil olmak üzere bir PageElement
kaynağı oluşturmanıza ve 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 nerede sağladığınızı gösterir. Bu kimliğin değerini sunum URL'sinden alabilirsiniz.
- 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 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. Ardından örnek, tüm metin kutusu metnini madde işaretli listeye dönüştürmek için
CreateParagraphBulletsRequest
yöntemini kullanır. Listedeki öğeler \n
karakterleriyle ayrılırken girinti \t
karakterleriyle kontrol edilir.
Sunu oluşturmak için kullanılan istek protokolü aşağıda 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 görünen bir madde işaretli liste oluşturabilir:
Slayda şekil ekleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ID ile belirtilen bir slayda dalga şekli eklemek için
CreateShapeRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bu istek, şekil türünü belirtir, ardından şekli slaytta ölçeklendirir ve konumlandırır. Ardından, bu şekle metin eklemek için InsertTextRequest
yöntemini kullanır. İstek, satırın kimliğini PAGE_ELEMENT_ID olarak ayarlar.
Slayta şekil 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, "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 } } ] }
Slayda video ekleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ID ile belirtilen bir slayda 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 ayarlanır. Örneğin, https://www.youtube.com/watch?v=7U3axjORYZ0
adresindeki YouTube videosunun kimliği 7U3axjORYZ0
'dır.
Slayta video eklemek için 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 (PAGE_ELEMENT_ID ile belirtilir) alıp kopyasını (COPY_ELEMENT_ID ile belirtilir) oluşturmak 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 rengi olarak ayarlar. - Kopyayı sayfada aşağı taşır (orijinal şeklin konumundan).
- Metin yazı tipini 18 punto Georgia olarak ayarlar.
- Metni "Şeklimin Kopyası" olarak düzenler.
Buradaki istekler, değiştirilmeyen şekil özelliklerini (ör. ana hat stili) korumak için alan maskelerini kullanır. Alan maskeleri kullanmak da performansı artırır.
Slayt kopyalama hakkında daha fazla bilgi için Slayt kopyalama örneğine bakın.
Bir öğeyi kopyalayıp düzenlemek için istek protokolü aşağıda 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 } } ] }
Aşağıda, bu güncellemelerden sonra bir şeklin ve kopyasının nasıl görünebileceğiyle ilgili bir örnek verilmiştir:
Resim veya video ana hatlarını düzenleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, IMAGE_ELEMENT_ID ile belirtilen bir resmin ana hat görünümünü güncellemek için
UpdateImagePropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ayrıca, VIDEO_ELEMENT_ID ile belirtilen yerleştirilmiş bir videonun ana hat görünümünü güncellemek için UpdateVideoPropertiesRequest
yöntemini kullanır.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Resim ana hat rengini kısmi şeffaflıkla
ACCENT5
tema rengi olarak ayarlar. - Video ana hat rengini, şeffaflık içermeyen
ACCENT1
tema rengi olarak ayarlar. - Her ikisi için de ana hat ağırlıklarını 3 pt olarak ayarlar.
- Resim ana hat stilini
SOLID
olarak ayarlar. - Video ana hat 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 isteklerde, kodu gelecekteki API değişikliklerine karşı korumak için yalnızca ana hattın değiştirilmesi gerektiğini belirtmek üzere alan maskeleri kullanılır. Alan maskeleri kullanmak da performansı artırır.
Aşağıda, resim veya video 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" } } } } } ] }
Aşağıda, bu güncellemelerden sonra bir resmin ve yerleştirilmiş videonun nasıl görünebileceğine dair bir örnek verilmiştir:
Şeklin ana hatlarını düzenleme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, mevcut bir şekli (PAGE_ELEMENT_ID ile belirtilir) almak ve ana hattının görünümünü güncellemek için
UpdateShapePropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Anahat rengini kısmi şeffaflıkla
ACCENT5
tema rengi olarak ayarlar. - Anahat ağırlığını 3 pt olarak ayarlar.
- Anahat stilini
LONG_DASH
olarak ayarlar.
Buradaki isteklerde, değiştirilmeyen şekil özelliklerini (ör. şekil dolgu rengi) korumak için alan maskeleri kullanılır. Alan maskeleri kullanmak da performansı artırır.
Şeklin ana hattını düzenlemek için kullanılan istek protokolü aşağıda 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" } } } } } ] }
Şekiller, bu güncellemelerden sonra aşağıdaki gibi görünebilir:
Şekildeki veya metin kutusundaki metni biçimlendirme
Aşağıdaki presentations.batchUpdate
kod örneğinde, UpdateTextStyleRequest
yönteminin mevcut bir şekli (PAGE_ELEMENT_ID ile belirtilir) almak ve metninin görünümünü güncellemek için nasıl kullanılacağı gösterilmektedir.
İstekler, nesnede aşağıdaki değişiklikleri yapar:
- Metin rengini
ACCENT5
tema rengi olarak ayarlar. - Yazı tipini kalın, italik ve 18 punto Corsiva olarak ayarlar.
- Metnin altını çizer.
Buradaki isteklerde, değiştirilmeyen metin stili özelliklerini (ör. arka plan rengi, bağlantılar veya temel çizgi kaymaları) korumak için alan maskeleri kullanılır. Alan maskeleri kullanmak da performansı artırır.
Bir şekil veya metin kutusundaki metni biçimlendirmek için kullanılan istek protokolü aşağıda 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" } } } ] }
Şekil metni, bu güncellemelerden sonra aşağıdaki gibi görünebilir:
Google E-Tablolar'dan grafik içe aktarma
Aşağıdaki
presentations.batchUpdate
kod örneğinde, bir sayfadan grafik içe aktarmak ve bunu PAGE_ID ile belirtilen bir slayda yerleştirmek için CreateSheetsChartRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
İstek için e-tablo kimliği (SPREADSHEET_ID ile belirtilir) ve e-tablo grafiği kimliği (SPREADSHEET_CHART_ID ile belirtilir) gerekir. Slaytlar sunusundaki grafik kimliği PRESENTATION_CHART_ID ile belirtilir.
İstek, kaynak e-tablodaki grafik güncellenirse yerleştirilmiş grafiği güncelleyebilmeniz için Slaytlar grafiğinin
LinkingMode
değerini LINKED
olarak da ayarlar.
E-tablolardan grafik içe aktarmak için kullanılan istek protokolü aşağıda 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" } } } ] }
E-Tablolar'dan grafik yenileme
Aşağıdaki
presentations.batchUpdate
kod örneğinde, bir sunudaki bağlı grafiği yenilemek için RefreshSheetsChartRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Bu yöntem, grafiği, Sheets kaynak e-tablosundaki grafiğin en son sürümüyle değiştirir. İstek, Slaytlar sunusundaki grafik kimliğini (PRESENTATION_CHART_ID ile belirtilir) gerektirir.
Aşağıda, bir grafiği Sheets'ten yenilemek için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }