Documento de descoberta

Os documentos de descoberta estão disponíveis para versões específicas da maioria das APIs. O documento de descoberta de cada API descreve a superfície da API, como aceder à API e como os pedidos e as respostas da API estão estruturados. As informações fornecidas pelo documento de descoberta incluem propriedades ao nível da API, como uma descrição da API, esquemas de recursos, âmbitos de autenticação e métodos.

Métodos

O documento Discovery centra-se no método RESTful de invocar uma API. O método discovery.apis.list devolve a lista de todas as APIs suportadas pelo Google APIs Discovery Service, incluindo os URLs para obter os documentos de descoberta baseados em REST.

list
Obtenha a lista de APIs suportadas neste ponto final.

Representações de recursos

{
  "kind": "discovery#restDescription",
  "discoveryVersion": "v1",
  "id": string,
  "name": string,
  "canonicalName": string,
  "version": string,
  "revision": string,
  "title": string,
  "description": string,
  "icons": {
    "x16": string,
    "x32": string
  },
  "documentationLink": string,
  "labels": [
    string
  ],
  "protocol": "rest",
  "baseUrl": string,
  "basePath": string,
  "rootUrl": string,
  "servicePath": string,
  "batchPath": "batch",
  "endpoints": [
    {
      "endpointUrl": string,
      "location": string,
      "deprecated": boolean,
      "description": string
    }
  ],
  "parameters": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        (key): {
          "description": string
        }
      }
    }
  },
  "features": [
    string
  ],
  "schemas": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "deprecated": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "enumDeprecated": [
        boolean
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "methods": {
    (key): {
      "id": string,
      "path": string,
      "httpMethod": string,
      "description": string,
      "deprecated": boolean,
      "parameters": {
        (key): {
          "id": string,
          "type": string,
          "$ref": string,
          "description": string,
          "default": string,
          "required": boolean,
          "deprecated": boolean,
          "format": string,
          "pattern": string,
          "minimum": string,
          "maximum": string,
          "enum": [
            string
          ],
          "enumDescriptions": [
            string
          ],
          "enumDeprecated": [
            boolean
          ],
          "repeated": boolean,
          "location": string,
          "properties": {
            (key): (JsonSchema)
          },
          "additionalProperties": (JsonSchema),
          "items": (JsonSchema),
          "annotations": {
            "required": [
              string
            ]
          }
        }
      },
      "parameterOrder": [
        string
      ],
      "request": {
        "$ref": string
      },
      "response": {
        "$ref": string
      },
      "scopes": [
        (value)
      ],
      "supportsMediaDownload": boolean,
      "supportsMediaUpload": boolean,
      "mediaUpload": {
        "accept": [
          string
        ],
        "maxSize": string,
        "protocols": {
          "simple": {
            "multipart": true,
            "path": string
          },
          "resumable": {
            "multipart": true,
            "path": string
          }
        }
      },
      "supportsSubscription": boolean
    }
  },
  "resources": {
    (key): {
      "methods": {
        (key): {
          "id": string,
          "path": string,
          "httpMethod": string,
          "description": string,
          "deprecated": boolean,
          "parameters": {
            (key): {
              "id": string,
              "type": string,
              "$ref": string,
              "description": string,
              "default": string,
              "required": boolean,
              "deprecated": boolean,
              "format": string,
              "pattern": string,
              "minimum": string,
              "maximum": string,
              "enum": [
                string
              ],
              "enumDescriptions": [
                string
              ],
              "enumDeprecated": [
                boolean
              ],
              "repeated": boolean,
              "location": string,
              "properties": {
                (key): (JsonSchema)
              },
              "additionalProperties": (JsonSchema),
              "items": (JsonSchema),
              "annotations": {
                "required": [
                  string
                ]
              }
            }
          },
          "parameterOrder": [
            string
          ],
          "request": {
            "$ref": string
          },
          "response": {
            "$ref": string
          },
          "scopes": [
            (value)
          ],
          "supportsMediaDownload": boolean,
          "supportsMediaUpload": boolean,
          "mediaUpload": {
            "accept": [
              string
            ],
            "maxSize": string,
            "protocols": {
              "simple": {
                "multipart": true,
                "path": string
              },
              "resumable": {
                "multipart": true,
                "path": string
              }
            }
          },
          "supportsSubscription": boolean
        }
      },
      "deprecated": boolean,
      "resources": {
        (key): (RestResource)
      }
    }
  }
}
Nome da propriedade Valor Descrição
kind string O tipo desta resposta. A string fixa discovery#restDescription.
discoveryVersion string Indique a versão da API Discovery usada para gerar este documento.
id string O ID do documento de deteção da API. Por exemplo, urlshortener:v1.
name string O nome da API. Por exemplo, urlshortener.
canonicalName string O nome canónico da API. Por exemplo, Url Shortener.
version string A versão da API. Por exemplo, v1.
revision string A revisão da API.
title string O título da API. Por exemplo, "API Google Url Shortener".
description string A descrição desta API.
icons object Links para ícones de 16 x 16 e 32 x 32 que representam a API.
icons.x16 string O URL do ícone de 16 x 16.
icons.x32 string O URL do ícone de 32 x 32.
labels[] list Etiquetas para o estado desta API. Os valores válidos incluem limited_availability ou deprecated.
protocol string O protocolo descrito pelo documento. Por exemplo, REST.
rootUrl string O URL raiz no qual todos os serviços de API estão alojados.
endpoints[] list Uma lista de objetos de pontos finais baseados na localização para esta API. Cada objeto contém o URL do ponto final, a localização, a descrição e o estado de descontinuação.
endpoints[].endpointUrl string O URL do anfitrião de destino do ponto final.
endpoints[].location string A localização do ponto final.
endpoints[].description string Uma string que descreve o anfitrião designado pelo URL.
endpoints[].deprecated boolean Se este ponto final foi descontinuado.
parameters object Parâmetros comuns que se aplicam a todas as APIs.
parameters.(key) nested object Descrição de um único parâmetro.
parameters.(key).id string Identificador exclusivo deste esquema.
parameters.(key).type string O tipo de valor para este esquema. Pode encontrar uma lista de valores na secção "type" no esquema JSON.
parameters.(key).$ref string Uma referência a outro esquema. O valor desta propriedade é o ID de outro esquema.
parameters.(key).description string Uma descrição deste objeto.
parameters.(key).default string O valor predefinido desta propriedade (se existir).
parameters.(key).required boolean Se o parâmetro é obrigatório.
parameters.(key).format string Uma expressão regular ou uma chave adicional que ajuda a restringir o valor. Para mais detalhes, consulte o resumo do tipo e formato.
parameters.(key).pattern string A expressão regular à qual este parâmetro tem de estar em conformidade.
parameters.(key).minimum string O valor mínimo deste parâmetro.
parameters.(key).maximum string O valor máximo deste parâmetro.
parameters.(key).enum[] list Valores que este parâmetro pode assumir (se for uma enumeração).
parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição é mapeada para o valor correspondente na matriz de enumeração.
parameters.(key).repeated boolean Se este parâmetro pode aparecer várias vezes.
parameters.(key).location string Se este parâmetro é incluído na consulta ou no caminho para pedidos REST.
parameters.(key).properties object Se for um esquema para um objeto, liste o esquema para cada propriedade deste objeto.
parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é, em si, um objeto de esquema JSON que descreve esta propriedade.
parameters.(key).additionalProperties nested object Se for um esquema para um objeto, esta propriedade é o esquema para quaisquer propriedades adicionais com chaves dinâmicas neste objeto.
parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade é o esquema para cada elemento na matriz.
parameters.(key).annotations object Informações adicionais sobre esta propriedade.
parameters.(key).annotations.required[] list Uma lista de métodos que requerem esta propriedade nos pedidos.
auth object Informações de autenticação.
auth.oauth2 object Informações de autenticação OAuth 2.0.
auth.oauth2.scopes object Âmbitos do OAuth 2.0 disponíveis.
auth.oauth2.scopes.(key) object O valor do âmbito.
auth.oauth2.scopes.(key).description string Descrição do âmbito.
features[] list Uma lista de funcionalidades suportadas para esta API.
schemas object Os esquemas desta API.
schemas.(key) nested object Uma descrição do esquema individual.
schemas.(key).id string Identificador exclusivo deste esquema. Exemplo: URL
schemas.(key).type string O tipo de valor para este esquema. Pode encontrar uma lista de valores na secção "type" no esquema JSON.
schemas.(key).$ref string Uma referência a outro esquema. O valor desta propriedade é o ID de outro esquema.
schemas.(key).description string Uma descrição deste objeto.
schemas.(key).default string O valor predefinido desta propriedade (se existir).
schemas.(key).required boolean Se o parâmetro é obrigatório.
schemas.(key).deprecated boolean Se este esquema foi descontinuado.
schemas.(key).format string Uma expressão regular ou uma chave adicional que ajuda a restringir o valor. Para mais detalhes, consulte o resumo do tipo e formato.
schemas.(key).pattern string A expressão regular à qual este parâmetro tem de estar em conformidade.
schemas.(key).minimum string O valor mínimo deste parâmetro.
schemas.(key).maximum string O valor máximo deste parâmetro.
schemas.(key).enum[] list Valores que este parâmetro pode assumir (se for uma enumeração).
schemas.(key).enumDescriptions[] list As descrições das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
schemas.(key).enumDeprecated[] list O estado de descontinuação das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
schemas.(key).repeated boolean Se este parâmetro pode aparecer várias vezes.
schemas.(key).location string Se este parâmetro é incluído na consulta ou no caminho para pedidos REST.
schemas.(key).properties object Se for um esquema para um objeto, liste o esquema para cada propriedade deste objeto.
schemas.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é, em si, um objeto de esquema JSON que descreve esta propriedade.
schemas.(key).additionalProperties nested object Se for um esquema para um objeto, esta propriedade é o esquema para quaisquer propriedades adicionais com chaves dinâmicas neste objeto.
schemas.(key).items nested object Se for um esquema para uma matriz, esta propriedade é o esquema para cada elemento na matriz.
schemas.(key).annotations object Informações adicionais sobre esta propriedade.
schemas.(key).annotations.required[] list Uma lista de métodos que requerem esta propriedade nos pedidos.
methods object Métodos ao nível da API para esta API.
methods.(key) nested object Uma descrição individual do método.
methods.(key).id string Um ID exclusivo para este método. Esta propriedade pode ser usada para fazer corresponder métodos entre diferentes versões do Discovery.
methods.(key).description string Descrição deste método.
methods.(key).deprecated boolean Se este método foi descontinuado.
methods.(key).parameters object Detalhes de todos os parâmetros neste método.
methods.(key).parameters.(key) nested object Detalhes de um único parâmetro neste método.
methods.(key).parameters.(key).id string Identificador exclusivo deste esquema.
methods.(key).parameters.(key).type string O tipo de valor para este esquema.   Pode encontrar uma lista de valores na secção "type" no esquema JSON.
methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor desta propriedade é o ID de outro esquema.
methods.(key).parameters.(key).description string Uma descrição deste objeto.
methods.(key).parameters.(key).default string O valor predefinido desta propriedade (se existir).
methods.(key).parameters.(key).required boolean Se o parâmetro é obrigatório.
methods.(key).parameters.(key).deprecated boolean Indica se o parâmetro foi descontinuado.
methods.(key).parameters.(key).format string Uma expressão regular ou uma chave adicional que ajuda a restringir o valor. Para mais detalhes, consulte o resumo do tipo e formato.
methods.(key).parameters.(key).pattern string A expressão regular à qual este parâmetro tem de estar em conformidade.
methods.(key).parameters.(key).minimum string O valor mínimo deste parâmetro.
methods.(key).parameters.(key).maximum string O valor máximo deste parâmetro.
methods.(key).parameters.(key).enum[] list Valores que este parâmetro pode assumir (se for uma enumeração).
methods.(key).parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
methods.(key).parameters.(key).enumDeprecated[] list O estado de descontinuação das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
methods.(key).parameters.(key).repeated boolean Se este parâmetro pode aparecer várias vezes.
methods.(key).parameters.(key).location string Se este parâmetro é incluído na consulta ou no caminho para pedidos REST.
methods.(key).parameters.(key).properties object Se for um esquema para um objeto, liste o esquema para cada propriedade deste objeto.
methods.(key).parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é, em si, um objeto de esquema JSON que descreve esta propriedade.
methods.(key).parameters.(key).additionalProperties nested object Se for um esquema para um objeto, esta propriedade é o esquema para quaisquer propriedades adicionais com chaves dinâmicas neste objeto.
methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade é o esquema para cada elemento na matriz.
methods.(key).parameters.(key).annotations object Informações adicionais sobre esta propriedade.
methods.(key).parameters.(key).annotations.required[] list Uma lista de métodos para os quais esta propriedade é necessária em pedidos.
methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Isto serve como uma sugestão para os clientes sobre como estruturar as respetivas assinaturas de métodos. A matriz é ordenada de modo que o parâmetro mais significativo apareça primeiro.
methods.(key).scopes[] list Âmbitos do OAuth 2.0 aplicáveis a este método.
methods.(key).supportsMediaDownload boolean Indica se este método suporta transferências de conteúdo multimédia.
methods.(key).supportsMediaUpload boolean Indica se este método suporta carregamentos de conteúdo multimédia.
methods.(key).mediaUpload object Parâmetros de carregamento de conteúdo multimédia.
methods.(key).mediaUpload.accept[] list Intervalos de multimédia MIME para carregamentos de multimédia aceitáveis para este método.
methods.(key).mediaUpload.maxSize string Tamanho máximo de um carregamento de conteúdo multimédia, como "1 MB", "2 GB" ou "3 TB".
methods.(key).supportsSubscription boolean Se este método suporta subscrições.
baseUrl string [DESCONTINUADO] O URL base para pedidos REST.
basePath string [DESCONTINUADO] O caminho base para pedidos REST.
servicePath string O caminho de base para todos os pedidos REST.
batchPath string O caminho para pedidos em lote REST.
methods.(key).path string O caminho URI deste método REST. Deve ser usada juntamente com a propriedade servicePath ao nível da API.
methods.(key).httpMethod string Método HTTP usado por este método.
methods.(key).request object O esquema do pedido.
methods.(key).request.$ref string ID do esquema para o esquema de pedido.
methods.(key).request.parameterName string [DEPRECATED] Algumas APIs têm este campo por motivos de retrocompatibilidade. Pode ser ignorada em segurança.
methods.(key).response object O esquema da resposta.
methods.(key).response.$ref string ID do esquema do esquema de resposta.
methods.(key).mediaUpload.protocols object Protocolos de carregamento suportados.
methods.(key).mediaUpload.protocols.simple object Suporta o carregamento como um único pedido HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadeiro se este ponto final suportar o carregamento de conteúdo multimédia multipartes.
methods.(key).mediaUpload.protocols.simple.path string O caminho do URI a usar para o carregamento. Deve ser usada em conjunto com a propriedade rootURL ao nível da API.
methods.(key).mediaUpload.protocols.resumable object Suporta o protocolo de carregamento de multimédia retomável.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true se este ponto final suporta o carregamento de conteúdo multimédia multipartes.
methods.(key).mediaUpload.protocols.resumable.path string O caminho do URI a usar para o carregamento. Deve ser usada juntamente com a propriedade rootURL ao nível da API.
resources object Os recursos nesta API.
resources.(key) nested object Uma descrição de recurso individual. Contém métodos e sub-recursos relacionados com este recurso.
resources.(key).methods object Métodos neste recurso.
resources.(key).methods.(key) nested object Descrição de quaisquer métodos neste recurso.
resources.(key).methods.(key).id string Um ID exclusivo para este método. Esta propriedade pode ser usada para fazer corresponder métodos entre diferentes versões do Discovery.
resources.(key).methods.(key).path string O caminho URI deste método REST. Deve ser usada juntamente com a propriedade servicePath ao nível da API.
resources.(key).methods.(key).flatPath string O caminho do URI deste método REST no formato (RFC 6570) sem funcionalidades de nível 2 ({+var}). Suplementar à propriedade path.
resources.(key).methods.(key).httpMethod string Método HTTP usado por este método.
resources.(key).methods.(key).description string Descrição deste método.
resources.(key).methods.(key).deprecated boolean Se este método foi descontinuado.
resources.(key).methods.(key).parameters object Detalhes de todos os parâmetros neste método.
resources.(key).methods.(key).parameters.(key) nested object Detalhes de um único parâmetro neste método.
resources.(key).methods.(key).parameters.(key).id string Identificador exclusivo deste esquema.
resources.(key).methods.(key).parameters.(key).type string O tipo de valor para este esquema.  Pode encontrar uma lista de valores na secção "type" no esquema JSON.
resources.(key).methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor desta propriedade é o "ID" de outro esquema.
resources.(key).methods.(key).parameters.(key).description string Uma descrição deste objeto.
resources.(key).methods.(key).parameters.(key).default string O valor predefinido desta propriedade (se existir).
resources.(key).methods.(key).parameters.(key).required boolean Se o parâmetro é obrigatório.
resources.(key).methods.(key).parameters.(key).deprecated boolean Indica se o parâmetro foi descontinuado.
resources.(key).methods.(key).parameters.(key).format string Uma expressão regular ou uma chave adicional que ajuda a restringir o valor. Para mais detalhes, consulte o resumo do tipo e formato.
resources.(key).methods.(key).parameters.(key).pattern string A expressão regular à qual este parâmetro tem de estar em conformidade.
resources.(key).methods.(key).parameters.(key).minimum string O valor mínimo deste parâmetro.
resources.(key).methods.(key).parameters.(key).maximum string O valor máximo deste parâmetro.
resources.(key).methods.(key).parameters.(key).enum[] list Valores que este parâmetro pode assumir (se for uma enumeração).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
resources.(key).methods.(key).parameters.(key).enumDeprecated[] list O estado de descontinuação das enumerações. Cada posição é mapeada para o valor correspondente na matriz enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Se este parâmetro pode aparecer várias vezes.
resources.(key).methods.(key).parameters.(key).location string Se este parâmetro é incluído na consulta ou no caminho para pedidos REST.
resources.(key).methods.(key).parameters.(key).properties object Se for um esquema para um objeto, liste o esquema para cada propriedade deste objeto.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é, em si, um objeto de esquema JSON que descreve esta propriedade.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Se for um esquema para um objeto, esta propriedade é o esquema para quaisquer propriedades adicionais com chaves dinâmicas neste objeto.
resources.(key).methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade é o esquema para cada elemento na matriz.
resources.(key).methods.(key).parameters.(key).annotations object Informações adicionais sobre esta propriedade.
resources.(key).methods.(key).parameters.(key).annotations.required[] list Uma lista de métodos que requerem esta propriedade nos pedidos.
resources.(key).methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Isto serve como uma sugestão para os clientes sobre como estruturar as respetivas assinaturas de métodos. A matriz é ordenada de modo que o parâmetro mais significativo apareça primeiro.
resources.(key).methods.(key).request object O esquema do pedido.
resources.(key).methods.(key).request.$ref string ID do esquema para o esquema de pedido.
resources.(key).methods.(key).response object O esquema da resposta.
resources.(key).methods.(key).response.$ref string ID do esquema do esquema de resposta.
resources.(key).methods.(key).scopes[] list Âmbitos do OAuth 2.0 aplicáveis a este método.
resources.(key).methods.(key).supportsMediaDownload boolean Indica se este método suporta transferências de conteúdo multimédia.
resources.(key).methods.(key).supportsMediaUpload boolean Indica se este método suporta carregamentos de conteúdo multimédia.
resources.(key).methods.(key).mediaUpload object Parâmetros de carregamento de conteúdo multimédia.
resources.(key).methods.(key).mediaUpload.accept[] list Intervalos de multimédia MIME para carregamentos de multimédia aceitáveis para este método.
resources.(key).methods.(key).mediaUpload.maxSize string Tamanho máximo de um carregamento de conteúdo multimédia, como "1 MB", "2 GB" ou "3 TB".
resources.(key).methods.(key).mediaUpload.protocols object Protocolos de carregamento suportados.
resources.(key).methods.(key).mediaUpload.protocols.simple object Suporta o carregamento como um único pedido HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true se este ponto final suporta o carregamento de conteúdo multimédia multipartes.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string O caminho do URI a usar para o carregamento. Deve ser usada juntamente com a propriedade rootURL ao nível da API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Suporta o protocolo de carregamento de multimédia retomável.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true se este ponto final suporta o carregamento de conteúdo multimédia multipartes.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string O caminho do URI a usar para o carregamento. Deve ser usada juntamente com a propriedade rootURL ao nível da API.
resources.(key).methods.(key).supportsSubscription boolean Se este método suporta subscrições.
resources.(key).deprecated boolean Se este recurso foi descontinuado.
resources.(key).resources object Sub-recursos neste recurso.
resources.(key).resources.(key) nested object Descrição de todos os sub-recursos neste recurso.