Leitura básica

Com a API Google Slides, você pode 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.

Esses exemplos usam os seguintes marcadores:

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

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

Nestes exemplos, usamos máscaras de campo para retornar apenas informações específicas solicitadas sobre os elementos de apresentação, slide e página. O uso de 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 do slide da apresentação. Os IDs são retornados na ordem de apresentação de slides e podem ser usados para indicar slides específicos em solicitações de API subsequentes. É possível receber os IDs de objeto das páginas principal e de layout da mesma maneira, usando fields=masters.objectId e fields=layout.objectId.

Veja a seguir o protocolo de solicitação para ler IDs de objeto de slide:

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 objeto 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 objetos de todos os elementos de uma página.

Veja a seguir o protocolo de solicitação para ler IDs de objeto 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 contendo 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 a seguir 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 os elementos line e table, se houver algum na página.

Veja a seguir 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 contendo os elementos de forma solicitados. As chaves vazias indicam elementos de página que não são do tipo de forma. Neste caso, 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
                }
              }
            }
          ]
        }
      }
    },
    ...
  ]
}