Documento de descoberta

Os documentos de descoberta estão disponíveis para versões específicas da maioria das APIs. Cada documento de descoberta de API descreve a plataforma da API, como acessá-la e como as solicitações e respostas da API são estruturadas. As informações apresentadas pelo documento de descoberta contêm properties no nível da API, como uma descrição da API, esquemas de recursos, escopos de autenticação e métodos.

Métodos

O documento de descoberta concentra-se no método RESTful de invocar uma API. O método discovery.apis.list retorna a lista de todas as APIs aceitas pelo serviço de descoberta de APIs do Google, incluindo os URLs para recuperar os documentos de descoberta de baseadas em REST.

list
Recupere a lista de APIs aceitas nesse endpoint.

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 dessa 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 descoberta 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 dessa API.
icons object Links para ícones 16x16 e 32x32 que representam a API.
icons.x16 string O URL do ícone 16x16.
icons.x32 string O URL do ícone 32x32.
labels[] list Rótulos dos status dessa 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 da API residem.
endpoints[] list Uma lista de objetos de endpoint com base no local dessa API. Cada objeto contém o URL do endpoint, o local, a descrição e o status da descontinuação.
endpoints[].endpointUrl string O URL do host de destino do endpoint.
endpoints[].location string O local do endpoint.
endpoints[].description string Uma string que descreve o host designado pelo URL.
endpoints[].deprecated boolean Indica se esse endpoint 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 desse esquema.
parameters.(key).type string O tipo de valor desse esquema. Veja uma lista de valores na seção "type" do esquema JSON.
parameters.(key).$ref string Uma referência a outro esquema. O valor dessa property é o ID de outro esquema.
parameters.(key).description string Uma descrição desse objeto.
parameters.(key).default string O valor padrão dessa property (se houver).
parameters.(key).required boolean Se o parâmetro é obrigatório.
parameters.(key).format string Uma chave ou expressão regular extra que ajuda a restringir o valor. Para mais detalhes, consulte o resumo de tipo e formato.
parameters.(key).pattern string A expressão regular com que o parâmetro precisa estar em conformidade.
parameters.(key).minimum string O valor mínimo desse parâmetro.
parameters.(key).maximum string O valor máximo desse parâmetro.
parameters.(key).enum[] list Valores que esse parâmetro pode assumir (se for um tipo enumerado).
parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de tipo enumerado.
parameters.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
parameters.(key).location string Se esse parâmetro é inserido na consulta ou no caminho de solicitações REST.
parameters.(key).properties object Se for um esquema para um objeto, liste o esquema de cada property desse objeto.
parameters.(key).properties.(key) nested object Uma única property desse objeto. O valor é, por si só, um objeto do esquema JSON que descreve essa property.
parameters.(key).additionalProperties nested object Se for um esquema para um objeto, essa property será o esquema de todas as properties adicionais com chaves dinâmicas nesse objeto.
parameters.(key).items nested object Se for um esquema para uma matriz, essa property será o esquema de cada elemento na matriz.
parameters.(key).annotations object Outras informações sobre essa property.
parameters.(key).annotations.required[] list Uma lista de métodos que exigem essa property em solicitações.
auth object Informações de autenticação.
auth.oauth2 object Informações de autenticação do OAuth 2.0.
auth.oauth2.scopes object Escopos disponíveis do OAuth 2.0.
auth.oauth2.scopes.(key) object O valor do escopo.
auth.oauth2.scopes.(key).description string Descrição do escopo.
features[] list Uma lista de recursos compatíveis com essa API.
schemas object Os esquemas dessa API.
schemas.(key) nested object Uma descrição do esquema individual.
schemas.(key).id string Identificador exclusivo desse esquema. Exemplo: URL
schemas.(key).type string O tipo de valor desse esquema. Veja uma lista de valores na seção "type" do esquema JSON.
schemas.(key).$ref string Uma referência a outro esquema. O valor dessa property é o ID de outro esquema.
schemas.(key).description string Uma descrição desse objeto.
schemas.(key).default string O valor padrão dessa property (se houver).
schemas.(key).required boolean Se o parâmetro é obrigatório.
schemas.(key).deprecated boolean Se esse esquema foi descontinuado.
schemas.(key).format string Uma chave ou expressão regular extra que ajuda a restringir o valor. Para mais detalhes, consulte o resumo de tipo e formato.
schemas.(key).pattern string A expressão regular com que o parâmetro precisa estar em conformidade.
schemas.(key).minimum string O valor mínimo desse parâmetro.
schemas.(key).maximum string O valor máximo desse parâmetro.
schemas.(key).enum[] list Valores que esse parâmetro pode assumir (se for um tipo enumerado).
schemas.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
schemas.(key).enumDeprecated[] list O status de descontinuação dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
schemas.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
schemas.(key).location string Se esse parâmetro é inserido na consulta ou no caminho de solicitações REST.
schemas.(key).properties object Se for um esquema para um objeto, liste o esquema de cada property desse objeto.
schemas.(key).properties.(key) nested object Uma única property desse objeto. O valor é, por si só, um objeto do esquema JSON que descreve essa property.
schemas.(key).additionalProperties nested object Se for um esquema para um objeto, essa property será o esquema de todas as properties adicionais com chaves dinâmicas nesse objeto.
schemas.(key).items nested object Se for um esquema para uma matriz, essa property será o esquema de cada elemento na matriz.
schemas.(key).annotations object Outras informações sobre essa property.
schemas.(key).annotations.required[] list Uma lista de métodos que exigem essa property em solicitações.
methods object Métodos no nível da API para essa API.
methods.(key) nested object Uma descrição do método individual.
methods.(key).id string Um ID exclusivo para esse método. Essa property pode ser usada para corresponder métodos entre diferentes versões da descoberta.
methods.(key).description string Descrição desse método.
methods.(key).deprecated boolean Se esse método foi descontinuado.
methods.(key).parameters object Detalhes de todos os parâmetros nesse método.
methods.(key).parameters.(key) nested object Detalhes de um único parâmetro nesse método.
methods.(key).parameters.(key).id string Identificador exclusivo desse esquema.
methods.(key).parameters.(key).type string O tipo de valor desse esquema.   Veja uma lista de valores na seção "type" do esquema JSON.
methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor dessa property é o ID de outro esquema.
methods.(key).parameters.(key).description string Uma descrição desse objeto.
methods.(key).parameters.(key).default string O valor padrão dessa property (se houver).
methods.(key).parameters.(key).required boolean Se o parâmetro é obrigatório.
methods.(key).parameters.(key).deprecated boolean Se o parâmetro foi descontinuado.
methods.(key).parameters.(key).format string Uma chave ou expressão regular extra que ajuda a restringir o valor. Para mais detalhes, consulte o resumo de tipo e formato.
methods.(key).parameters.(key).pattern string A expressão regular com que o parâmetro precisa estar em conformidade.
methods.(key).parameters.(key).minimum string O valor mínimo desse parâmetro.
methods.(key).parameters.(key).maximum string O valor máximo desse parâmetro.
methods.(key).parameters.(key).enum[] list Valores que esse parâmetro pode assumir (se for um tipo enumerado).
methods.(key).parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
methods.(key).parameters.(key).enumDeprecated[] list O status de descontinuação dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
methods.(key).parameters.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
methods.(key).parameters.(key).location string Se esse parâmetro é inserido na consulta ou no caminho de solicitações REST.
methods.(key).parameters.(key).properties object Se for um esquema para um objeto, liste o esquema de cada property desse objeto.
methods.(key).parameters.(key).properties.(key) nested object Uma única property desse objeto. O valor é, por si só, um objeto do esquema JSON que descreve essa property.
methods.(key).parameters.(key).additionalProperties nested object Se for um esquema para um objeto, essa property será o esquema de todas as properties adicionais com chaves dinâmicas nesse objeto.
methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, essa property será o esquema de cada elemento na matriz.
methods.(key).parameters.(key).annotations object Outras informações sobre essa property.
methods.(key).parameters.(key).annotations.required[] list Uma lista de métodos para os quais essa property é obrigatória em solicitações.
methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Serve como uma dica para clientes sobre como estruturar as assinaturas de método. A matriz é ordenada de modo que o parâmetro mais significativo apareça primeiro.
methods.(key).scopes[] list Escopos do OAuth 2.0 aplicáveis a esse método.
methods.(key).supportsMediaDownload boolean Se esse método é compatível com downloads de mídia.
methods.(key).supportsMediaUpload boolean Se esse método é compatível com uploads de mídia.
methods.(key).mediaUpload object Parâmetros de upload de mídia.
methods.(key).mediaUpload.accept[] list Gamas de mídia MIME para uploads de mídia aceitáveis para esse método.
methods.(key).mediaUpload.maxSize string Tamanho máximo de um upload de mídia, por exemplo, "1 MB", "2 GB" ou "3 TB".
methods.(key).supportsSubscription boolean Se esse método permite assinaturas.
baseUrl string [DESCONTINUADO] O URL de base para solicitações REST.
basePath string [DESCONTINUADO] O caminho base para solicitações REST.
servicePath string O caminho base para todas as solicitações REST.
batchPath string O caminho para solicitações REST em lote.
methods.(key).path string O caminho de URI desse método REST. Precisa ser usado em conjunto com a property servicePath no nível da API.
methods.(key).httpMethod string Método HTTP usado por esse método.
methods.(key).request object O esquema da solicitação.
methods.(key).request.$ref string ID do esquema da solicitação.
methods.(key).request.parameterName string [DESCONTINUADO] Algumas APIs têm esse campo por motivos de compatibilidade com versões anteriores. Ele pode ser ignorado com segurança.
methods.(key).response object O esquema da resposta.
methods.(key).response.$ref string ID do esquema da resposta.
methods.(key).mediaUpload.protocols object Protocolos de upload compatíveis.
methods.(key).mediaUpload.protocols.simple object Permite upload como uma única solicitação HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadeiro se esse endpoint aceitar upload de mídia com várias partes.
methods.(key).mediaUpload.protocols.simple.path string O caminho do URI a ser usado para upload. Precisa ser usado em conjunto com a property rootURL no nível da API.
methods.(key).mediaUpload.protocols.resumable object Aceita o protocolo de upload de mídia retomável.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true se esse endpoint aceitar upload de mídia com várias partes.
methods.(key).mediaUpload.protocols.resumable.path string O caminho do URI a ser usado para upload. Precisa ser usado em conjunto com a property rootURL no nível da API.
resources object Os recursos nessa API.
resources.(key) nested object Uma descrição do recurso individual. Contém métodos e sub-recursos relacionados a esse recurso.
resources.(key).methods object Métodos nesse recurso.
resources.(key).methods.(key) nested object Descrição de todos os métodos nesse recurso.
resources.(key).methods.(key).id string Um ID exclusivo para esse método. Essa property pode ser usada para corresponder métodos entre diferentes versões da descoberta.
resources.(key).methods.(key).path string O caminho de URI desse método REST. Precisa ser usado em conjunto com a property servicePath no nível da API.
resources.(key).methods.(key).flatPath string O caminho de URI desse método REST no formato RFC 6570 sem recursos de nível 2 ({+var}). Complementar à property path.
resources.(key).methods.(key).httpMethod string Método HTTP usado por esse método.
resources.(key).methods.(key).description string Descrição desse método.
resources.(key).methods.(key).deprecated boolean Se esse método foi descontinuado.
resources.(key).methods.(key).parameters object Detalhes de todos os parâmetros nesse método.
resources.(key).methods.(key).parameters.(key) nested object Detalhes de um único parâmetro nesse método.
resources.(key).methods.(key).parameters.(key).id string Identificador exclusivo desse esquema.
resources.(key).methods.(key).parameters.(key).type string O tipo de valor desse esquema.  Veja uma lista de valores na seção "type" do esquema JSON.
resources.(key).methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor dessa property é o "ID" de outro esquema.
resources.(key).methods.(key).parameters.(key).description string Uma descrição desse objeto.
resources.(key).methods.(key).parameters.(key).default string O valor padrão dessa property (se houver).
resources.(key).methods.(key).parameters.(key).required boolean Se o parâmetro é obrigatório.
resources.(key).methods.(key).parameters.(key).deprecated boolean Se o parâmetro foi descontinuado.
resources.(key).methods.(key).parameters.(key).format string Uma chave ou expressão regular extra que ajuda a restringir o valor. Para mais detalhes, consulte o resumo de tipo e formato.
resources.(key).methods.(key).parameters.(key).pattern string A expressão regular com que o parâmetro precisa estar em conformidade.
resources.(key).methods.(key).parameters.(key).minimum string O valor mínimo desse parâmetro.
resources.(key).methods.(key).parameters.(key).maximum string O valor máximo desse parâmetro.
resources.(key).methods.(key).parameters.(key).enum[] list Valores que esse parâmetro pode assumir (se for um tipo enumerado).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
resources.(key).methods.(key).parameters.(key).enumDeprecated[] list O status de descontinuação dos tipos enumerados. Cada posição é mapeada com o valor correspondente na matriz de enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
resources.(key).methods.(key).parameters.(key).location string Se esse parâmetro é inserido na consulta ou no caminho de solicitações REST.
resources.(key).methods.(key).parameters.(key).properties object Se for um esquema para um objeto, liste o esquema de cada property desse objeto.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Uma única property desse objeto. O valor é, por si só, um objeto do esquema JSON que descreve essa property.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Se for um esquema para um objeto, essa property será o esquema de todas as properties adicionais com chaves dinâmicas nesse objeto.
resources.(key).methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, essa property será o esquema de cada elemento na matriz.
resources.(key).methods.(key).parameters.(key).annotations object Outras informações sobre essa property.
resources.(key).methods.(key).parameters.(key).annotations.required[] list Uma lista de métodos que exigem essa property em solicitações.
resources.(key).methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Serve como uma dica para clientes sobre como estruturar as assinaturas de método. A matriz é ordenada de modo que o parâmetro mais significativo apareça primeiro.
resources.(key).methods.(key).request object O esquema da solicitação.
resources.(key).methods.(key).request.$ref string ID do esquema da solicitação.
resources.(key).methods.(key).response object O esquema da resposta.
resources.(key).methods.(key).response.$ref string ID do esquema da resposta.
resources.(key).methods.(key).scopes[] list Escopos do OAuth 2.0 aplicáveis a esse método.
resources.(key).methods.(key).supportsMediaDownload boolean Se esse método é compatível com downloads de mídia.
resources.(key).methods.(key).supportsMediaUpload boolean Se esse método é compatível com uploads de mídia.
resources.(key).methods.(key).mediaUpload object Parâmetros de upload de mídia.
resources.(key).methods.(key).mediaUpload.accept[] list Gamas de mídia MIME para uploads de mídia aceitáveis para esse método.
resources.(key).methods.(key).mediaUpload.maxSize string Tamanho máximo de um upload de mídia, por exemplo, "1 MB", "2 GB" ou "3 TB".
resources.(key).methods.(key).mediaUpload.protocols object Protocolos de upload compatíveis.
resources.(key).methods.(key).mediaUpload.protocols.simple object Permite upload como uma única solicitação HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true se esse endpoint aceitar upload de mídia com várias partes.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string O caminho do URI a ser usado para upload. Precisa ser usado em conjunto com a property rootURL no nível da API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Aceita o protocolo de upload de mídia retomável.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true se esse endpoint aceitar upload de mídia com várias partes.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string O caminho do URI a ser usado para upload. Precisa ser usado em conjunto com a property rootURL no nível da API.
resources.(key).methods.(key).supportsSubscription boolean Se esse método permite assinaturas.
resources.(key).deprecated boolean Se esse recurso foi descontinuado.
resources.(key).resources object Sub-recursos nesse recurso.
resources.(key).resources.(key) nested object Descrição de todos os sub-recursos nesse recurso.