Öğ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ş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_IDSunu kimliğini nerede sağladığınızı gösterir. Bu kimliğin değerini sunum URL'sinden alabilirsiniz.
  • PAGE_IDSayfa 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:

Madde işaretli liste tarifi sonucu.

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:

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

Resim ve video akış planı 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 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:

Ana hatlı yemek tarifi sonucunu düzenleyin.

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

Metin biçimi tarifini düzenleyin
sonuç.

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