Leitura básica

A Google Slides API permite ler dados de apresentações, páginas e elementos de página. Os exemplos nesta página mostram como realizar operações de leitura comuns usando os métodos presentations.get e presentations.pages.get.

Estes exemplos usam os seguintes marcadores de posição:

  • PRESENTATION_ID: indica onde você fornece o ID da apresentação. Você pode descobrir o valor desse ID no URL da apresentação.
  • PAGE_ID: indica onde você fornece o ID do objeto de página. Recupere o valor dele no URL ou usando uma solicitação de leitura da API.

Esses exemplos são apresentados como solicitações HTTP para serem neutros em termos de linguagem. Os exemplos lidos a partir desta apresentação de exemplo, que tem 1EAYk18WDjIG-zp_0vLm3CsfQh_i8eXc67Jo2O9C6Vuc como PRESENTATION_ID. O PAGE_ID do primeiro slide nesta apresentação é ge63a4b4_1_0.

Os exemplos aqui usam máscaras de campo para retornar apenas informações solicitadas específicas sobre a apresentação, o slide e o elemento da página. Usar máscaras de campo também melhora o desempenho.

Ler IDs de objetos de slides

O exemplo de código presentations.get abaixo mostra como recuperar uma lista de todos os IDs de objeto de slides da apresentação. Os IDs são retornados na ordem da apresentação de slides e podem ser usados para indicar slides específicos em solicitações de API subsequentes. É possível conseguir os IDs de objeto das páginas mestre e de layout da mesma maneira, usando fields=masters.objectId e fields=layout.objectId.

Confira abaixo o protocolo de solicitação para ler os IDs de objetos de slides:

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

A resposta consiste em um objeto Presentation que contém os IDs de objetos solicitados:

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

Ler IDs de objeto de elementos de uma página

O exemplo de código presentations.pages.get a seguir mostra como recuperar uma lista de IDs de objeto para todos os elementos de uma página.

Confira abaixo o protocolo de solicitação para ler IDs de objetos de elementos de uma página:

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

A resposta consiste em um objeto Page que contém os IDs de objeto solicitados:

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

Ler elementos de forma de uma página

O exemplo de código presentations.pages.get abaixo mostra como recuperar uma lista de todos os Shapes em uma página. É possível recuperar outros tipos de PageElement especificando-os usando o parâmetro fields. Por exemplo, fields=pageElements(line,table) só retorna informações sobre elementos de página line e table, se houver algum na página.

Confira abaixo o protocolo de solicitação para ler elementos de forma de uma página:

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

A resposta consiste em um objeto Page que contém os elementos de forma solicitados. As chaves vazias indicam elementos de página que não são do tipo da forma. Neste caso, eles são elementos de página de imagem.

{
  "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
                }
              }
            }
          ]
        }
      }
    },
    ...
  ]
}