Öğe işlemleri

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:

Madde işaretli liste yemek tarifi sonucu.

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:

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

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:

Resim ve video özetli tarif
sonucu.

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:

Özet yemek 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ö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:

Metin biçimi tarif
sonucunu düzenleyin.

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