Resumen de tipo y formato

Las propiedades type y format en parámetros y esquemas se pueden usar para determinar el tipo de datos de la propiedad. La propiedad type indica el tipo de propiedad cuando se envía en respuestas y solicitudes JSON (JSON admite un conjunto pequeño de tipos de datos; consulta json.org para obtener más detalles). La propiedad format proporciona información adicional sobre el tipo subyacente. Las propiedades siempre tendrán una propiedad type, pero algunas también pueden tener una propiedad format.

Por ejemplo, un número entero de 64 bits no se puede representar en JSON (ya que JavaScript y JSON admiten números enteros de hasta 2^53). Por lo tanto, un número entero de 64 bits debe representarse como una string en solicitudes o respuestas JSON. Por lo tanto, la propiedad type se establecerá en"string", pero la propiedad format se establecerá en"int64"para indicar que es un número entero de 64 bits.

La especificación del esquema JSON ya define un conjunto de valores comunes para la propiedad format. El servicio de descubrimiento de API de Google admite algunos de estos valores y define otros también. A continuación, se resume la lista completa de los valores type y format que admite el servicio de descubrimiento de las API de Google.

Tipo de valor Valor del formato Significado
any La propiedad puede tener cualquier tipo. Según la especificación del esquema en JSON.
array Una matriz de valores de JavaScript La propiedad items indica el esquema para los valores del arreglo. Definido por la especificación del esquema JSON.
boolean Un valor booleano, "true" o "false". Definido por la especificación del esquema JSON.
integer int32 Es un número entero de 32 bits con firma. Tiene un valor mínimo de -2,147,483,648 y un valor máximo de 2,147,483,647 (inclusive).
integer uint32 Un número entero de 32 bits sin firma. Tiene un valor mínimo de 0 y un valor máximo de 4,294,967,295 (inclusive).
number double Un punto flotante IEEE 754 de doble precisión de 64 bits.
number float Un punto flotante IEEE 754 de 32 bits de precisión.
object Un objeto JavaScript. Definido por la especificación del esquema JSON.
string Una string arbitraria. Definido por la especificación del esquema JSON.
string byte Una string de bytes con relleno y en base64, codificada con una URL y un alfabeto seguro con nombre de archivo (también conocida como "web-safe" o "base64url"). Definido por RFC4648.
string date Una fecha RFC3339 en el formato AAAA-MM-DD. Se define en la especificación del esquema JSON.
string date-time Una marca de tiempo RFC3339 en horario UTC. Esto tiene el formato aaaa-MM-ddTHH:mm:ss.SSSZ. La parte en milisegundos (&SST) es opcional. Se define en la especificación del esquema JSON.
string google-datetime Una marca de tiempo RFC3339 en horario UTC. Esto tiene el formato aaaa-MM-ddTHH:mm:ss.SSSZ. La parte en milisegundos (&SST) es opcional.
string google-duration Una string termina en el sufijo &sts; (indica los segundos) y está precedida por la cantidad de segundos, con nanosegundos expresados como segundos fraccionarios. El punto siempre se usa como el decimal, no una coma.
string google-fieldmask Una string con nombres de campos separados por comas. Los nombres de campos se representan en convenciones de nombres de camellos inferiores.
string int64 Es un número entero firmado de 64 bits. Tiene un valor mínimo de -9,223,372,036,854,775,808 y un valor máximo de 9,223,372,036,854,775,807 (inclusive).
string uint64 Es un número entero sin firma de 64 bits. Tiene un valor mínimo de 0 y un valor máximo de (2^64)-1 (inclusive).