Google Slaytlar API'si metin kutuları, resimler, tablolar, temel şekiller, çizgiler ve yerleşik videolar dahil olmak üzere bir PageElement
kaynağı oluşturup düzenlemenize olanak tanır. Bu sayfadaki örnekler, presentations.batchUpdate
yöntemini kullanan bazı yaygın sayfa öğesi işlemlerini gösterir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID: Sunu kimliğini nereden sağladığınızı belirtir. Bu kimliğin değerini sunu URL'sinden alabilirsiniz.
- PAGE_ID - Sayfa nesne kimliğini nereden sağladığınızı belirtir. Bunun değerini URL'den veya bir API okuma isteği kullanarak alabilirsiniz.
- PAGE_ELEMENT_ID - Sayfa öğesi nesne kimliğini nereden sağladığınızı belirtir. Oluşturduğunuz öğeler için bu kimliği belirtebilir (bazı kısıtlamalarla) veya Slaytlar 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 olmaları için HTTP istekleri olarak sunulur. Toplu güncellemenin Google API istemci kitaplıklarını kullanarak farklı dillerde nasıl uygulanacağını öğ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ır, girinti \t
karakterle kontrol edilir.
Aşağıda, sunum oluşturmak için gereken 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 görünen madde işaretli bir liste oluşturabilir:
Slayta şekil ekleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, PAGE_ID tarafından belirtilen 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 bu şekle metin eklemek için InsertTextRequest
yöntemini kullanır. İstek, satır kimliğini PAGE_ELEMENT_ID olarak ayarlar.
Aşağıda, 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, videoyu PAGE_ID ile belirtilen slayta yerleştirmek için CreateVideoRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bu istek, slayttaki videoyu ölçeklendirip konumlandırır ve video kimliğini PAGE_ELEMENT_ID olarak ayarlar. Kaynak videonun benzersiz tanımlayıcısı VIDEO_ID olarak ayarlandı. Örneğin, https://www.youtube.com/watch?v=7U3axjORYZ0
adresindeki YouTube videosunun kimliği 7U3axjORYZ0
.
Aşağıda, slayta video eklemek için gereken istek protokolü 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) almak ve kopyasını 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 punto olarak ayarlar.
- Metni "Şekil Kopyam" olarak düzenler.
Buradaki istekler, değiştirilmemiş şekil özelliklerini (dış çizgi stili gibi) korumak için alan maskelerini kullanır. Alan maskeleri kullanmak performansı da artırır.
Slayt kopyalama hakkında daha fazla bilgi için Slaytı kopyalama örneğini inceleyin.
Bir öğeyi kopyalamak ve 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 } } ] }
Bu güncellemelerden sonra bir şeklin ve kopyasının nasıl görünebileceği aşağıda gösterilmektedir:
Resim veya video ana hatlarını düzenleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, IMAGE_ELEMENT_ID tarafından belirtilen resmin dış çizgi görünümünü güncellemek için UpdateImagePropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir. VIDEO_ELEMENT_ID ile belirtilen yerleştirilmiş bir videonun dış çizgi görünümünü güncellemek için de UpdateVideoPropertiesRequest
yöntemini kullanır.
İstekler nesnede aşağıdaki değişiklikleri yapar:
- Resmin dış çizgi rengini, 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 pt olarak ayarlar.
- Resmin dış çizgi stilini
SOLID
olarak ayarlar. - Videonun anahat stilini
DASH_DOT
olarak ayarlar.
Hem UpdateImagePropertiesRequest
hem de UpdateVideoPropertiesRequest
yöntemi, yalnızca resmin ve video ana hatlarının görünümünü değiştirebilir. Diğer tüm özellikler salt okunurdur. Buradaki istekler, kodu gelecekte yapılacak API değişikliklerine karşı korumak için yalnızca dış çizginin değiştirilmesi gerektiğini belirtmek için alan maskelerini kullanır. Alan maskeleri kullanmak performansı da artırır.
Aşağıda, bir resmin veya videonun ana hatlarını düzenlemek için gereken 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:
Bir ş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österilmektedir 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 pt.
- Dış çizgi stilini
LONG_DASH
olarak ayarlar.
Buradaki istekler, değiştirilmemiş şekil özelliklerini (şekil dolgu rengi gibi) korumak için alan maskelerini kullanır. Alan maskeleri kullanmak performansı da artırır.
Aşağıda, bir şeklin dış çizgisini düzenlemek için gereken 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 bir şekil aşağıdaki gibi 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österilmektedir ve metin görünümü güncellenmektedir.
İ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ştirilmemiş metin stili özelliklerini (arka plan rengi, bağlantılar veya referans ofsetleri gibi) korumak için alan maskelerini kullanır. Alan maskeleri kullanmak performansı da artırır.
Aşağıda, bir şekil veya metin kutusundaki metni biçimlendirmek için kullanılan istek protokolü bulunmaktadır:
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 metninin nasıl görüneceği aşağıda verilmiştir:
Google E-Tablolar'dan grafik içe aktarma
Aşağıdaki presentations.batchUpdate
kod örneğinde, bir sayfadan grafiği içe aktarmak ve PAGE_ID ile belirtilen slayta yerleştirmek için CreateSheetsChartRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
İstek, e-tablo kimliği (SPREADSHEET_ID ile belirtilir) ve e-tablo grafiği kimliği (SPREADSHEET_CHART_ID ile belirtilir) gerektirir. Slaytlar sunusundaki grafik kimliği PRESENTATION_CHART_ID ile belirtilir.
İstek ayrıca Slaytlar grafiğinin LinkingMode
değerini LINKED
olarak ayarlar. Böylece, kaynak e-tablodaki grafik güncellendiğinde yerleştirilmiş grafiği güncelleyebilirsiniz.
Aşağıda, E-Tablolar'dan grafik içe aktarmak için kullanılan istek protokolü bulunmaktadır:
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'daki bir grafiği 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 için Slaytlar sunusunda grafik kimliği gerekir (PRESENTATION_CHART_ID ile belirtilir).
Aşağıda, E-Tablolar'daki bir grafiği yenilemek için gereken istek protokolü bulunmaktadır:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }