Leitura básica

Com a API Google Slides, é possível ler dados de apresentação, página e elemento da 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:

  • 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 da página. Você pode extrair o valor do URL ou usando uma solicitação de leitura da API.

Esses exemplos são apresentados como solicitações HTTP para serem neutros em relação ao idioma. Os exemplos são lidos desta 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.

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

Ler IDs de objetos de slide

O exemplo de código presentations.get a seguir mostra como recuperar uma lista de todos os IDs de objetos de slide 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. Você pode conseguir os IDs de objeto das páginas principais e de layout da mesma forma, usando fields=masters.objectId e fields=layout.objectId.

Este é o protocolo de solicitação para ler IDs de objetos 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 objetos 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 para todos os elementos da página em uma página.

Este é 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 a seguir mostra como recuperar uma lista de todos os Shapes em uma página. É possível recuperar outros tipos de PageElement especificando-os com 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.

Este é 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 com os elementos de forma solicitados. As chaves vazias indicam elementos de página que não são do tipo forma. Nesse 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
                }
              }
            }
          ]
        }
      }
    },
    ...
  ]
}