Temel okuma

Google Slides API, sunu, sayfa ve sayfa öğesi verilerini okumanıza olanak tanır. Bu sayfada yer alan örneklerde, hem presentations.get hem de presentations.pages.get yöntemleri kullanılarak yaygın okuma işlemlerinin nasıl gerçekleştirileceği gösterilmektedir.

Bu örneklerde aşağıdaki yer tutucular kullanılmaktadır:

  • PRESENTATION_ID: Sunu kimliğini nerede sağladığınızı belirtir. Bu kimliğin değerini sunuş URL'sinden öğrenebilirsiniz.
  • PAGE_ID: Sayfa nesnesi kimliğini nerede sağladığınızı belirtir. Bunun değerini URL'den veya API okuma isteği kullanarak alabilirsiniz.

Bu örnekler, dil açısından tarafsız olması için HTTP istekleri olarak sunulur. PRESENTATION_ID olarak 1EAYk18WDjIG-zp_0vLm3CsfQh_i8eXc67Jo2O9C6Vuc değerine sahip bu örnek sunu'dan okunan örnekler. Bu sununun ilk slaytındaki PAGE_ID değeri ge63a4b4_1_0'tır.

Buradaki örneklerde, yalnızca istenilen belirli bilgileri (sunu, slayt ve sayfa öğesi) döndürmek için alan maskeleri kullanılır. Alan maskeleri kullanmak da performansı artırır.

Slayt nesne kimliklerini okuma

Aşağıdaki presentations.get kod örneğinde, sunudaki tüm slayt nesnesi kimliklerinin nasıl alınacağı gösterilmektedir. Kimlikler, slayt sunum sırasına göre döndürülür ve sonraki API isteklerinde belirli slaytları belirtmek için kullanılabilir. Ana sayfa ve düzen sayfalarının nesne kimliklerini fields=masters.objectId ve fields=layout.objectId'ü kullanarak aynı şekilde alabilirsiniz.

Slayt nesne kimliklerini okumak için istek protokolü aşağıda verilmiştir:

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?fields=slides.objectId

Yanıt, istenen öğe kimliklerini içeren bir Presentation nesnesinden oluşur:

{
  "slides": [
    {
      "objectId": "ge63a4b4_1_0"
    },
    {
      "objectId": "ge63a4b4_1_9"
    },
    {
      "objectId": "ge63a4b4_1_23"
    },
    {
      "objectId": "ge63a4b4_1_35"
    },
    {
      "objectId": "ge63a4b4_1_43"
    }
  ]
}

Sayfadaki öğe nesne kimliklerini okuma

Aşağıdaki presentations.pages.get kod örneğinde, bir sayfadaki tüm sayfa öğelerinin nesne kimliklerinin listesinin nasıl alınacağı gösterilmektedir.

Bir sayfadaki öğe nesne kimliklerini okumak için istek protokolü aşağıda verilmiştir:

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?fields=pageElements.objectId

Yanıt, istenen nesne kimliklerini içeren bir Page nesnesinden oluşur:

{
  "pageElements": [
    {
      "objectId": "ge63a4b4_1_5"
    },
    {
      "objectId": "ge63a4b4_1_6"
    },
    {
      "objectId": "ge63a4b4_1_7"
    },
    {
      "objectId": "ge63a4b4_1_8"
    }
  ]
}

Sayfadaki şekil öğelerini okuma

Aşağıdaki presentations.pages.get kod örneğinde, bir sayfadaki tüm Shapes öğelerinin listesinin nasıl alınacağı gösterilmektedir. Diğer PageElement türlerini fields parametresini kullanarak belirtebilirsiniz. Örneğin, fields=pageElements(line,table) yalnızca sayfada varsa line ve table sayfa öğeleri hakkında bilgi döndürür.

Bir sayfadaki şekil öğelerini okumak için istek protokolü aşağıda verilmiştir:

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?fields=pageElements.shape

Yanıt, istenen şekil öğelerini içeren bir Page nesnesinden oluşur. Boş parantezler, şekil türündeki sayfa öğelerini belirtir. Bu durumda, resim sayfası öğeleridir.

{
  "pageElements": [
    {},
    {},
    {
      "shape": {
        "shapeProperties" {
          "outline" {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 1,
                "color": {
                  "rgbColor": {}
                }
              },
            },
            "propertyState": "NOT_RENDERED",
            "weight": {
              "magnitude": 9525,
              "unit": "EMU"
            }
          },
          "shadow": {
            "alignment": "BOTTOM_LEFT",
            "alpha": 1,
            "blurRadius": {
              "unit": "EMU"
            },
            "color": {
              "rgbColor": {}
            },
            "propertyState": "NOT_RENDERED",
            "rotateWithShape": false,
            "transform": {
              "scaleX": 1,
              "scaleY": 1,
              "unit": "EMU"
            },
            "type": "OUTER"
          },
          "shapeBackgroundFill" : {
            "propertyState": "NOT_RENDERED",
            "solidFill": {
              "alpha": 1,
              "color": {
                "rgbColor: {
                  "blue": 1,
                  "green": 1,
                  "red": 1
                }
              }
            }
          }
        },
        "shapeType": "TEXT_BOX",
        "text": {
          "textElements": [
            {
              "endIndex": 11,
              "paragraphMarker": {
                "style": {
                  "alignment": "START",
                  "direction": "LEFT_TO_RIGHT",
                  "indentEnd": {
                    "unit": "PT"
                  },
                  "indentFirstLine": {
                    "unit": "PT"
                  },
                  "indentStart": {
                    "unit": "PT"
                  },
                  "lineSpacing": 100,
                  "spaceAbove": {
                    "unit": "PT"
                  },
                  "spaceBelow": {
                    "unit": "PT"
                  },
                  "spacingMode": "COLLAPSE_LISTS"
                }
              }
            },
            {
              "endIndex": 11,
              "textRun": {
                "content": "Baby Album\n",
                "style": {
                  "backgroundColor": {},
                  "baselineOffset": "NONE",
                  "bold": false,
                  "fontFamily": "Arial",
                  "fontSize": {
                    "magnitude": 14,
                    "unit": "PT"
                  },
                  "foregroundColor": {
                    "opaqueColor": {
                      "rgbColor": {}
                    }
                  },
                  "italic": false,
                  "smallCaps": false,
                  "strikethrough": false,
                  "underline": false
                }
              }
            }
          ]
        }
      }
    },
    ...
  ]
}