Öğe işlemleri

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:

Madde işaretli liste tarifi sonucu.

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:

Bir öğe tarifi sonucunu kopyalayıp düzenleyin.

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:

Resim ve video özet tarifleri sonucu.

Ş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:

Dış çizgi tarifi sonucunu düzenle.

Ş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:

Metin biçimi tarif sonucunu
düzenleyin.

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
      }
    }
  ]
}