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 acessá-la e como as solicitações e respostas da API são estruturadas. As informações fornecidas pelo documento de descoberta incluem propriedades do 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 se concentra no método RESTful de invocação de uma API. O método discovery.apis.list retorna a lista de todas as APIs compatíveis com o serviço de descoberta de APIs do Google, incluindo os URLs para recuperar os documentos de descoberta baseados em REST.

list
Recuperar a lista de APIs compatíveis com este 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 Observações
kind string O tipo da 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 para a 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 de 16x16 e 32x32 que representam a API.
icons.x16 string O URL do ícone 16x16.
icons.x32 string O URL do ícone de 32x32.
labels[] list Rótulos para o status 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 estão todos os serviços da API.
endpoints[] list Uma lista de objetos de endpoint baseados em localização para esta API. Cada objeto contém o URL do endpoint, o local, a descrição e o status de suspensão de uso.
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 Se esse endpoint está obsoleto.
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 deste esquema. Uma lista de valores pode ser encontrada na seção"type" no esquema JSON.
parameters.(key).$ref string Uma referência a outro esquema. O valor dessa propriedade é o ID de outro esquema.
parameters.(key).description string Uma descrição deste objeto.
parameters.(key).default string O valor padrão dessa propriedade (se existir).
parameters.(key).required boolean Se o parâmetro é obrigatório.
parameters.(key).format string Uma expressão regular adicional ou chave 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 a qual esse parâmetro precisa 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 esse parâmetro pode assumir (se for um enum).
parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz enum.
parameters.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
parameters.(key).location string Se esse parâmetro entra na consulta ou no caminho para solicitações REST.
parameters.(key).properties object Se este for um esquema para um objeto, liste o esquema para cada propriedade desse objeto.
parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é um objeto de esquema JSON que descreve essa propriedade.
parameters.(key).additionalProperties nested object Se este for um esquema para um objeto, esta propriedade será o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade será o esquema de 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 exigem essa propriedade 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 OAuth 2.0 disponíveis.
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 individual do esquema.
schemas.(key).id string Identificador exclusivo desse esquema. Exemplo: URL
schemas.(key).type string O tipo de valor deste esquema. Veja uma lista de valores na seção"type" no esquema JSON.
schemas.(key).$ref string Uma referência a outro esquema. O valor dessa propriedade é o ID de outro esquema.
schemas.(key).description string Uma descrição deste objeto.
schemas.(key).default string O valor padrão dessa propriedade (se existir).
schemas.(key).required boolean Se o parâmetro é obrigatório.
schemas.(key).deprecated boolean Indica se este esquema está obsoleto.
schemas.(key).format string Uma expressão regular adicional ou chave que ajuda a restringir o valor.Para mais detalhes, veja o Resumo de tipo e formato.
schemas.(key).pattern string A expressão regular com a qual esse parâmetro precisa 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 esse parâmetro pode assumir (se for um enum).
schemas.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz enum.
schemas.(key).enumDeprecated[] list O status de suspensão de uso para os tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz enum.
schemas.(key).repeated boolean Se esse parâmetro pode aparecer várias vezes.
schemas.(key).location string Se esse parâmetro entra na consulta ou no caminho para solicitações REST.
schemas.(key).properties object Se este for um esquema para um objeto, liste o esquema para cada propriedade desse objeto.
schemas.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é um objeto de esquema JSON que descreve essa propriedade.
schemas.(key).additionalProperties nested object Se este for um esquema para um objeto, esta propriedade será o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
schemas.(key).items nested object Se for um esquema para uma matriz, esta propriedade será o esquema de 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 exigem essa propriedade em solicitações.
methods object Métodos no nível da API para esta API.
methods.(key) nested object Uma descrição de método individual.
methods.(key).id string Um ID exclusivo para este método. Esta propriedade pode ser usada para combinar métodos entre diferentes versões do Discovery.
methods.(key).description string Descrição desse método.
methods.(key).deprecated boolean Indica se o método está obsoleto.
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 desse esquema.
methods.(key).parameters.(key).type string O tipo de valor deste esquema. Veja uma lista de valores na seção"type" no esquema JSON.
methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor dessa 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 padrão dessa propriedade (se existir).
methods.(key).parameters.(key).required boolean Se o parâmetro é obrigatório.
methods.(key).parameters.(key).deprecated boolean Se o parâmetro está obsoleto.
methods.(key).parameters.(key).format string Uma expressão regular adicional ou chave que ajuda a restringir o valor.Para mais detalhes, veja o Resumo de tipo e formato.
methods.(key).parameters.(key).pattern string A expressão regular com a qual esse parâmetro precisa 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 esse parâmetro pode assumir (se for um enum).
methods.(key).parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz enum.
methods.(key).parameters.(key).enumDeprecated[] list O status de suspensão de uso para os tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz 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 entra na consulta ou no caminho para solicitações REST.
methods.(key).parameters.(key).properties object Se este for um esquema para um objeto, liste o esquema para cada propriedade desse objeto.
methods.(key).parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é um objeto de esquema JSON que descreve essa propriedade.
methods.(key).parameters.(key).additionalProperties nested object Se este for um esquema para um objeto, esta propriedade será o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade será o esquema de 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 essa propriedade é obrigatória em solicitações.
methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Isso serve como uma dica para os clientes sobre como estruturar as assinaturas de método deles. A matriz é ordenada de forma que o parâmetro mais significativo apareça primeiro.
methods.(key).scopes[] list Escopos OAuth 2.0 aplicáveis a este método.
methods.(key).supportsMediaDownload boolean Se este método suporta downloads de mídia.
methods.(key).supportsMediaUpload boolean Se este método suporta uploads de mídia.
methods.(key).mediaUpload object Parâmetros de upload de mídia.
methods.(key).mediaUpload.accept[] list Os intervalos 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, como "1 MB", "2 GB" ou "3 TB".
methods.(key).supportsSubscription boolean Se esse método é compatível com assinaturas.
baseUrl string [DEPRECATED] O URL base para solicitações REST.
basePath string [DEPRECATED] 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 do URI desse método REST. Precisa ser usado em conjunto com a propriedade 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 de solicitação.
methods.(key).request.parameterName string [DEPRECATED] Algumas APIs têm esse campo para fins de compatibilidade com versões anteriores. Ela pode ser ignorada com segurança.
methods.(key).response object O esquema da resposta.
methods.(key).response.$ref string ID do esquema de resposta.
methods.(key).mediaUpload.protocols object Protocolos de upload compatíveis.
methods.(key).mediaUpload.protocols.simple object Suporta o upload como uma única solicitação HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadeiro se esse endpoint for compatível com o upload de mídia de 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 propriedade rootURL no nível da API.
methods.(key).mediaUpload.protocols.resumable object Compatível com o protocolo Upload de mídia retomável.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true se esse endpoint for compatível com o upload de mídia de 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 propriedade rootURL no 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 a este recurso.
resources.(key).methods object Métodos neste recurso.
resources.(key).methods.(key) nested object Descrição para todos os métodos neste recurso.
resources.(key).methods.(key).id string Um ID exclusivo para este método. Esta propriedade pode ser usada para combinar métodos entre diferentes versões do Discovery.
resources.(key).methods.(key).path string O caminho do URI desse método REST. Precisa ser usado em conjunto com a propriedade servicePath no nível da API.
resources.(key).methods.(key).flatPath string O caminho do URI desse método REST no formato (RFC 6570) sem recursos de nível 2 ({+var}). Complementar à propriedade 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 Indica se o método está obsoleto.
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 desse esquema.
resources.(key).methods.(key).parameters.(key).type string O tipo de valor deste esquema. Veja uma lista de valores na seção"type" no esquema JSON.
resources.(key).methods.(key).parameters.(key).$ref string Uma referência a outro esquema. O valor dessa 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 padrão dessa 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 Se o parâmetro está obsoleto.
resources.(key).methods.(key).parameters.(key).format string Uma expressão regular adicional ou chave que ajuda a restringir o valor.Para mais detalhes, veja o Resumo de tipo e formato.
resources.(key).methods.(key).parameters.(key).pattern string A expressão regular com a qual esse parâmetro precisa 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 esse parâmetro pode assumir (se for um enum).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list As descrições dos tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz enum.
resources.(key).methods.(key).parameters.(key).enumDeprecated[] list O status de suspensão de uso para os tipos enumerados. Cada posição é mapeada para o valor correspondente na matriz 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 entra na consulta ou no caminho para solicitações REST.
resources.(key).methods.(key).parameters.(key).properties object Se este for um esquema para um objeto, liste o esquema para cada propriedade desse objeto.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Uma única propriedade deste objeto. O valor é um objeto de esquema JSON que descreve essa propriedade.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Se este for um esquema para um objeto, esta propriedade será o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
resources.(key).methods.(key).parameters.(key).items nested object Se for um esquema para uma matriz, esta propriedade será o esquema de 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 exigem essa propriedade em solicitações.
resources.(key).methods.(key).parameterOrder[] list Lista ordenada de parâmetros obrigatórios. Isso serve como uma dica para os clientes sobre como estruturar as assinaturas de método deles. A matriz é ordenada de forma 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 de solicitação.
resources.(key).methods.(key).response object O esquema da resposta.
resources.(key).methods.(key).response.$ref string ID do esquema de resposta.
resources.(key).methods.(key).scopes[] list Escopos OAuth 2.0 aplicáveis a este método.
resources.(key).methods.(key).supportsMediaDownload boolean Se este método suporta downloads de mídia.
resources.(key).methods.(key).supportsMediaUpload boolean Se este método suporta uploads de mídia.
resources.(key).methods.(key).mediaUpload object Parâmetros de upload de mídia.
resources.(key).methods.(key).mediaUpload.accept[] list Os intervalos 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, como "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 Suporta o upload como uma única solicitação HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true se esse endpoint for compatível com o upload de mídia de 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 propriedade rootURL no nível da API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Compatível com o protocolo Upload de mídia retomável.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true se esse endpoint for compatível com o upload de mídia de 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 propriedade rootURL no nível da API.
resources.(key).methods.(key).supportsSubscription boolean Se esse método é compatível com assinaturas.
resources.(key).deprecated boolean Indica se este recurso está obsoleto.
resources.(key).resources object Sub-recursos neste recurso.
resources.(key).resources.(key) nested object Descrição para todos os sub-recursos deste recurso.