Documento de descubrimiento

Los documentos de descubrimiento están disponibles para versiones específicas de la mayoría de las API. En cada documento de descubrimiento de la API se describe la superficie de la API, cómo acceder a ella y cómo se estructuran las solicitudes y respuestas de la API. La información que brinda el documento de descubrimiento incluye propiedades a nivel de la API, como una descripción de la API, esquemas de recursos, permisos de autenticación y métodos.

Métodos

El documento de descubrimiento se centra en el método RESTful para invocar una API. El método discovery.apis.list muestra la lista de todas las API admitidas por el servicio de descubrimiento de API de Google, incluidas las URL para recuperar los documentos de descubrimiento basados en REST.

list
Recupera la lista de las API compatibles en este extremo.

Representaciones 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)
      }
    }
  }
}
Nombre de propiedad Valor Descripción Notas
kind string El tipo de esta respuesta.La string fija discovery#restDescription.
discoveryVersion string Indica la versión de la API de descubrimiento que se usó para generar este documento.
id string El ID del documento de descubrimiento para la API. Por ejemplo, urlshortener:v1.
name string El nombre de la API. Por ejemplo, urlshortener.
canonicalName string El nombre canónico de la API. Por ejemplo, Url Shortener.
version string Es la versión de la API. Por ejemplo, v1.
revision string La revisión de la API.
title string El título de la API. Por ejemplo, "API de Google Url Shortener".
description string Es la descripción de esta API.
icons object Vínculos a íconos de 16 x 16 y 32 x 32 que representan la API.
icons.x16 string Corresponde a la URL del ícono de 16 x 16.
icons.x32 string La URL del ícono de 32 x 32.
labels[] list Etiquetas para el estado de esta API. Los valores válidos son limited_availability o deprecated.
protocol string El protocolo que se describe en el documento. Por ejemplo, REST.
rootUrl string La URL raíz en la que se encuentran todos los servicios de la API.
parameters object Parámetros comunes que se aplican a todas las API.
parameters.(key) nested object Descripción de un solo parámetro.
parameters.(key).id string Identificador único para este esquema.
parameters.(key).type string El tipo de valor para este esquema. Puedes encontrar una lista de valores en la sección "Tipo" en el esquema JSON.
parameters.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
parameters.(key).description string Es una descripción de este objeto.
parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
parameters.(key).required boolean Indica si el parámetro es obligatorio.
parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor. Para obtener más detalles, consulta el resumen de tipo y formato.
parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
parameters.(key).minimum string El valor mínimo de este parámetro.
parameters.(key).maximum string El valor máximo de este parámetro.
parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
parameters.(key).enumDescriptions[] list Las descripciones de las enumeraciones Cada posición se asigna al valor correspondiente en el arreglo de enumeración.
parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
parameters.(key).location string Si este parámetro va en la consulta o en la ruta de acceso a las solicitudes de REST.
parameters.(key).properties object Si se trata de un esquema para un objeto, enumera el esquema para cada propiedad de este objeto.
parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor en sí es un objeto de esquema JSON que describe esta propiedad.
parameters.(key).additionalProperties nested object Si este es un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
parameters.(key).items nested object Si este es un esquema para un arreglo, esta propiedad es el esquema para cada elemento del arreglo.
parameters.(key).annotations object Información adicional sobre esta propiedad.
parameters.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
auth object Información de autenticación
auth.oauth2 object Información de autenticación de OAuth 2.0
auth.oauth2.scopes object Permisos de OAuth 2.0 disponibles
auth.oauth2.scopes.(key) object El valor del alcance.
auth.oauth2.scopes.(key).description string Descripción del alcance.
features[] list Una lista de funciones compatibles con esta API.
schemas object Los esquemas para esta API
schemas.(key) nested object Una descripción de esquema individual.
schemas.(key).id string Identificador único para este esquema. Ejemplo: URL
schemas.(key).type string El tipo de valor para este esquema. Puede encontrar una lista de valores en la sección &type; type&quot del esquema de JSON.
schemas.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
schemas.(key).description string Es una descripción de este objeto.
schemas.(key).default string El valor predeterminado de esta propiedad (si existe).
schemas.(key).required boolean Indica si el parámetro es obligatorio.
schemas.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor.Para obtener más información, consulte el resumen de tipo y formato.
schemas.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
schemas.(key).minimum string El valor mínimo de este parámetro.
schemas.(key).maximum string El valor máximo de este parámetro.
schemas.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
schemas.(key).enumDescriptions[] list Las descripciones de las enumeraciones Cada posición se asigna al valor correspondiente en el arreglo enum.
schemas.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
schemas.(key).location string Si este parámetro va en la consulta o en la ruta de acceso a las solicitudes de REST.
schemas.(key).properties object Si se trata de un esquema para un objeto, enumera el esquema para cada propiedad de este objeto.
schemas.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor en sí es un objeto de esquema JSON que describe esta propiedad.
schemas.(key).additionalProperties nested object Si este es un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
schemas.(key).items nested object Si este es un esquema para un arreglo, esta propiedad es el esquema para cada elemento del arreglo.
schemas.(key).annotations object Información adicional sobre esta propiedad.
schemas.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
methods object Métodos de nivel de API para esta API.
methods.(key) nested object Una descripción individual del método.
methods.(key).id string Un ID único para este método. Esta propiedad se puede usar para hacer coincidir métodos entre diferentes versiones de Discovery.
methods.(key).description string Descripción de este método.
methods.(key).parameters object Son los detalles de todos los parámetros de este método.
methods.(key).parameters.(key) nested object Son los detalles de un solo parámetro en este método.
methods.(key).parameters.(key).id string Identificador único para este esquema.
methods.(key).parameters.(key).type string El tipo de valor para este esquema. Puede encontrar una lista de valores en la sección "type" del esquema de JSON.
methods.(key).parameters.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
methods.(key).parameters.(key).description string Es una descripción de este objeto.
methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
methods.(key).parameters.(key).required boolean Indica si el parámetro es obligatorio.
methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor.Para obtener más información, consulte el resumen de tipo y formato.
methods.(key).parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
methods.(key).parameters.(key).minimum string El valor mínimo de este parámetro.
methods.(key).parameters.(key).maximum string El valor máximo de este parámetro.
methods.(key).parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
methods.(key).parameters.(key).enumDescriptions[] list Las descripciones de las enumeraciones Cada posición se asigna al valor correspondiente en el arreglo enum.
methods.(key).parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
methods.(key).parameters.(key).location string Si este parámetro va en la consulta o en la ruta de acceso a las solicitudes de REST.
methods.(key).parameters.(key).properties object Si se trata de un esquema para un objeto, enumera el esquema para cada propiedad de este objeto.
methods.(key).parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor en sí es un objeto de esquema JSON que describe esta propiedad.
methods.(key).parameters.(key).additionalProperties nested object Si este es un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
methods.(key).parameters.(key).items nested object Si este es un esquema para un arreglo, esta propiedad es el esquema para cada elemento del arreglo.
methods.(key).parameters.(key).annotations object Información adicional sobre esta propiedad.
methods.(key).parameters.(key).annotations.required[] list Una lista de métodos para los cuales se requiere esta propiedad en las solicitudes.
methods.(key).parameterOrder[] list Lista ordenada de los parámetros obligatorios. Esto ayuda a los clientes a estructurar sus firmas de métodos. El arreglo está ordenado de modo que el parámetro más importante aparezca primero.
methods.(key).scopes[] list Alcances de OAuth 2.0 aplicables a este método
methods.(key).supportsMediaDownload boolean Indica si este método admite descargas de contenido multimedia.
methods.(key).supportsMediaUpload boolean Si este método admite cargas de medios.
methods.(key).mediaUpload object Parámetros de carga de contenido multimedia
methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de contenido multimedia aceptables a este método.
methods.(key).mediaUpload.maxSize string El tamaño máximo de una carga de contenido multimedia, como "2 MB" o "3 TB"
methods.(key).supportsSubscription boolean Indica si este método admite suscripciones.
baseUrl string [OBSOLETO] La URL base para las solicitudes de REST.
basePath string [OBSOLETO] La ruta base para las solicitudes REST.
servicePath string La ruta base para todas las solicitudes REST.
batchPath string La ruta de acceso para las solicitudes por lotes de REST.
methods.(key).path string La ruta URI de este método REST. Debe usarse en conjunto con la propiedad servicePath a nivel de la API.
methods.(key).httpMethod string Es el método HTTP que usa este método.
methods.(key).request object El esquema para la solicitud.
methods.(key).request.$ref string ID de esquema para el esquema de solicitud.
methods.(key).request.parameterName string [OBSOLETO] Algunas API tienen este campo por razones de retrocompatibilidad. Se puede ignorar sin problemas.
methods.(key).response object El esquema para la respuesta
methods.(key).response.$ref string ID de esquema para el esquema de respuesta.
methods.(key).mediaUpload.protocols object Protocolos de carga compatibles
methods.(key).mediaUpload.protocols.simple object Admite cargas como una sola solicitud HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadero si este extremo admite la carga de contenido multimedia de varias partes.
methods.(key).mediaUpload.protocols.simple.path string La ruta del URI que se usará para la carga. Debe usarse junto con la propiedad rootURL a nivel de la API.
methods.(key).mediaUpload.protocols.resumable object Admite el protocolo de carga de contenido multimedia reanudable.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
methods.(key).mediaUpload.protocols.resumable.path string La ruta del URI que se usará para la carga. Debe usarse en conjunto con la propiedad rootURL a nivel de la API.
resources object Los recursos de esta API.
resources.(key) nested object Una descripción de recurso individual. Contiene métodos y subrecursos relacionados con este recurso.
resources.(key).methods object Métodos en este recurso.
resources.(key).methods.(key) nested object Descripción de cualquier método en este recurso.
resources.(key).methods.(key).id string Un ID único para este método. Esta propiedad se puede usar para hacer coincidir métodos entre diferentes versiones de Discovery.
resources.(key).methods.(key).path string La ruta URI de este método REST. Debe usarse en conjunto con la propiedad servicePath a nivel de la API.
resources.(key).methods.(key).flatPath string La ruta URI de este método REST en formato (RFC 6570) sin características de nivel 2 ({+var}). Complementario a la propiedad path.
resources.(key).methods.(key).httpMethod string Es el método HTTP que usa este método.
resources.(key).methods.(key).description string Descripción de este método.
resources.(key).methods.(key).parameters object Son los detalles de todos los parámetros de este método.
resources.(key).methods.(key).parameters.(key) nested object Son los detalles de un solo parámetro en este método.
resources.(key).methods.(key).parameters.(key).id string Identificador único para este esquema.
resources.(key).methods.(key).parameters.(key).type string El tipo de valor para este esquema. Puede encontrar una lista de valores en la sección "type" del esquema de JSON.
resources.(key).methods.(key).parameters.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el &ID de otro esquema.
resources.(key).methods.(key).parameters.(key).description string Es una descripción de este objeto.
resources.(key).methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
resources.(key).methods.(key).parameters.(key).required boolean Indica si el parámetro es obligatorio.
resources.(key).methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor.Para obtener más información, consulte el resumen de tipo y formato.
resources.(key).methods.(key).parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
resources.(key).methods.(key).parameters.(key).minimum string El valor mínimo de este parámetro.
resources.(key).methods.(key).parameters.(key).maximum string El valor máximo de este parámetro.
resources.(key).methods.(key).parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list Las descripciones de las enumeraciones Cada posición se asigna al valor correspondiente en el arreglo enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
resources.(key).methods.(key).parameters.(key).location string Si este parámetro va en la consulta o en la ruta de acceso a las solicitudes de REST.
resources.(key).methods.(key).parameters.(key).properties object Si se trata de un esquema para un objeto, enumera el esquema para cada propiedad de este objeto.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor en sí es un objeto de esquema JSON que describe esta propiedad.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Si este es un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
resources.(key).methods.(key).parameters.(key).items nested object Si este es un esquema para un arreglo, esta propiedad es el esquema para cada elemento del arreglo.
resources.(key).methods.(key).parameters.(key).annotations object Información adicional sobre esta propiedad.
resources.(key).methods.(key).parameters.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
resources.(key).methods.(key).parameterOrder[] list Lista ordenada de los parámetros obligatorios. Esto ayuda a los clientes a estructurar sus firmas de métodos. El arreglo está ordenado de modo que el parámetro más importante aparezca primero.
resources.(key).methods.(key).request object El esquema para la solicitud.
resources.(key).methods.(key).request.$ref string ID de esquema para el esquema de solicitud.
resources.(key).methods.(key).response object El esquema para la respuesta
resources.(key).methods.(key).response.$ref string ID de esquema para el esquema de respuesta.
resources.(key).methods.(key).scopes[] list Alcances de OAuth 2.0 aplicables a este método
resources.(key).methods.(key).supportsMediaDownload boolean Indica si este método admite descargas de contenido multimedia.
resources.(key).methods.(key).supportsMediaUpload boolean Si este método admite cargas de medios.
resources.(key).methods.(key).mediaUpload object Parámetros de carga de contenido multimedia
resources.(key).methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de contenido multimedia aceptables a este método.
resources.(key).methods.(key).mediaUpload.maxSize string El tamaño máximo de una carga de contenido multimedia, como "2 MB" o "3 TB"
resources.(key).methods.(key).mediaUpload.protocols object Protocolos de carga compatibles
resources.(key).methods.(key).mediaUpload.protocols.simple object Admite cargas como una sola solicitud HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string La ruta del URI que se usará para la carga. Debe usarse en conjunto con la propiedad rootURL a nivel de la API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Admite el protocolo de carga de contenido multimedia reanudable.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string La ruta del URI que se usará para la carga. Debe usarse en conjunto con la propiedad rootURL a nivel de la API.
resources.(key).methods.(key).supportsSubscription boolean Indica si este método admite suscripciones.
resources.(key).resources object Subrecursos en este recurso.
resources.(key).resources.(key) nested object Descripción de los subrecursos de este recurso.