Documento de descoberta

Os documentos Discovery estão disponíveis para versões específicas da maioria das APIs. Cada documento de descoberta de APIs descreve a superfície da API, como acessá-la e como as solicitações e as respostas da API são estruturadas. As informações fornecidas pelo documento de descoberta incluem propriedades 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 Discovery se concentra no método REST que invoca 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
Recupere 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",
  "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,
      "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
        ]
      }
    }
  },
  "methods": {
    (key): {
      "id": string,
      "path": string,
      "httpMethod": string,
      "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
            ]
          }
        }
      },
      "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,
          "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
                ]
              }
            }
          },
          "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): (RestResource)
      }
    }
  }
}
Nome da propriedade Valor Descrição Observações
kind string Tipo dessa resposta.A string fixa discovery#restDescription.
discoveryVersion string Indique a versão da API Discovery usada para gerar esse 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 da 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 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 URL raiz em que todos os serviços de API residem.
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 Tipo de valor deste esquema. Uma lista de valores pode ser encontrada na seção "type" do 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 Descrição deste objeto.
parameters.(key).default string O valor padrão dessa propriedade (se houver).
parameters.(key).required boolean Indica se o parâmetro é obrigatório.
parameters.(key).format string Uma expressão ou chave regular adicional que ajuda a restringir o valor. Para mais detalhes, consulte o Resumo de tipo e formato.
parameters.(key).pattern string A expressão regular que esse parâmetro precisa seguir.
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 uma enumeração).
parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição corresponde ao valor correspondente na matriz de enumeração.
parameters.(key).repeated boolean Indica se esse parâmetro pode aparecer várias vezes.
parameters.(key).location string Indica se esse parâmetro entra na consulta ou no caminho para solicitações REST.
parameters.(key).properties object Se este for um esquema de 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 de um objeto, esta propriedade é o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
parameters.(key).items nested object Se este for um esquema de uma matriz, essa propriedade será o esquema de cada elemento na matriz.
parameters.(key).annotations object Mais informações sobre a 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 do OAuth 2.0 disponíveis.
auth.oauth2.scopes.(key) object 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 desta API.
schemas.(key) nested object Uma descrição de esquema individual.
schemas.(key).id string Identificador exclusivo desse esquema. Exemplo: URL
schemas.(key).type string Tipo de valor deste esquema. Uma lista de valores pode ser encontrada na seção "type" do 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 Descrição deste objeto.
schemas.(key).default string O valor padrão dessa propriedade (se houver).
schemas.(key).required boolean Indica se o parâmetro é obrigatório.
schemas.(key).format string Uma expressão ou chave regular adicional que ajuda a restringir o valor.Para mais detalhes, consulte o Resumo de tipo e formato.
schemas.(key).pattern string A expressão regular que esse parâmetro precisa seguir.
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 uma enumeração).
schemas.(key).enumDescriptions[] list As descrições das enumerações. Cada posição corresponde ao valor correspondente na matriz enum.
schemas.(key).repeated boolean Indica se esse parâmetro pode aparecer várias vezes.
schemas.(key).location string Indica se esse parâmetro entra na consulta ou no caminho para solicitações REST.
schemas.(key).properties object Se este for um esquema de 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 de um objeto, esta propriedade é o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
schemas.(key).items nested object Se este for um esquema de uma matriz, essa propriedade será o esquema de cada elemento na matriz.
schemas.(key).annotations object Mais informações sobre a 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 Descrição de um método individual.
methods.(key).id string Um ID exclusivo para esse método. Esta propriedade pode ser usada para fazer a correspondência de métodos entre diferentes versões do Discovery.
methods.(key).description string Descrição desse método.
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 Tipo de valor deste 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 propriedade é o ID de outro esquema.
methods.(key).parameters.(key).description string Descrição deste objeto.
methods.(key).parameters.(key).default string O valor padrão dessa propriedade (se houver).
methods.(key).parameters.(key).required boolean Indica se o parâmetro é obrigatório.
methods.(key).parameters.(key).format string Uma expressão ou chave regular adicional 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 que esse parâmetro precisa seguir.
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 uma enumeração).
methods.(key).parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição corresponde ao valor correspondente na matriz enum.
methods.(key).parameters.(key).repeated boolean Indica se esse parâmetro pode aparecer várias vezes.
methods.(key).parameters.(key).location string Indica 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 de 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 de um objeto, esta propriedade é o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
methods.(key).parameters.(key).items nested object Se este for um esquema de uma matriz, essa propriedade será o esquema de cada elemento na matriz.
methods.(key).parameters.(key).annotations object Mais informações sobre a 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 do método deles. A matriz é organizada de tal forma que o parâmetro mais significativo apareça primeiro.
methods.(key).scopes[] list Escopos do OAuth 2.0 aplicáveis a este método.
methods.(key).supportsMediaDownload boolean Indica se esse método é compatível com downloads de mídia.
methods.(key).supportsMediaUpload boolean Indica 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 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 upload de mídia, como "1 MB", "2 GB" ou "3 TB"
methods.(key).supportsSubscription boolean Indica se esse método oferece suporte a assinaturas.
baseUrl string [DESCONTINUADO] O URL 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 com a propriedade servicePath no nível da API.
methods.(key).httpMethod string Método HTTP usado por este 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 [DESCONTINUADO] 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 upload como uma única solicitação HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadeiro se este endpoint for compatível com o upload de mídia de várias partes.
methods.(key).mediaUpload.protocols.simple.path string Caminho do URI a ser usado para upload. Precisa ser usado com a propriedade rootURL no nível da API.
methods.(key).mediaUpload.protocols.resumable object Compatível com o protocolo de upload de mídia recuperável.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true: se este endpoint for compatível com o upload de mídia de várias partes.
methods.(key).mediaUpload.protocols.resumable.path string Caminho do URI a ser usado para upload. Precisa ser usado com a propriedade rootURL no nível da API.
resources object Os recursos nesta API.
resources.(key) nested object Descrição do 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 de todos os métodos neste recurso.
resources.(key).methods.(key).id string Um ID exclusivo para esse método. Esta propriedade pode ser usada para fazer a correspondência de métodos entre diferentes versões do Discovery.
resources.(key).methods.(key).path string O caminho de URI desse método REST. Precisa ser usado com a propriedade 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 à propriedade path.
resources.(key).methods.(key).httpMethod string Método HTTP usado por este método.
resources.(key).methods.(key).description string Descrição desse método.
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 Tipo de valor deste 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 propriedade é o "ID" de outro esquema.
resources.(key).methods.(key).parameters.(key).description string Descrição deste objeto.
resources.(key).methods.(key).parameters.(key).default string O valor padrão dessa propriedade (se houver).
resources.(key).methods.(key).parameters.(key).required boolean Indica se o parâmetro é obrigatório.
resources.(key).methods.(key).parameters.(key).format string Uma expressão ou chave regular adicional 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 que esse parâmetro precisa seguir.
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 uma enumeração).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list As descrições das enumerações. Cada posição corresponde ao valor correspondente na matriz enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Indica se esse parâmetro pode aparecer várias vezes.
resources.(key).methods.(key).parameters.(key).location string Indica 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 de 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 de um objeto, esta propriedade é o esquema de qualquer propriedade adicional com chaves dinâmicas nesse objeto.
resources.(key).methods.(key).parameters.(key).items nested object Se este for um esquema de uma matriz, essa propriedade será o esquema de cada elemento na matriz.
resources.(key).methods.(key).parameters.(key).annotations object Mais informações sobre a 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 do método deles. A matriz é organizada de tal 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 do OAuth 2.0 aplicáveis a este método.
resources.(key).methods.(key).supportsMediaDownload boolean Indica se esse método é compatível com downloads de mídia.
resources.(key).methods.(key).supportsMediaUpload boolean Indica 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 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 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 upload como uma única solicitação HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true: se este endpoint for compatível com upload de mídia de várias partes.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string Caminho do URI a ser usado para upload. Precisa ser usado com a propriedade rootURL no nível da API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Compatível com o protocolo de upload de mídia recuperável.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true: se este endpoint for compatível com o upload de mídia de várias partes.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string Caminho do URI a ser usado para upload. Precisa ser usado com a propriedade rootURL no nível da API.
resources.(key).methods.(key).supportsSubscription boolean Indica se esse método oferece suporte a assinaturas.
resources.(key).resources object Sub-recursos neste recurso.
resources.(key).resources.(key) nested object Descrição de todos os sub-recursos deste recurso.