Resumo de tipo e formato

As propriedades type e format em parâmetros e esquemas podem ser usadas para determinar o tipo de dados da propriedade. A propriedade type indica o tipo quando ela é enviada em solicitações e respostas JSON. O JSON é compatível com um pequeno conjunto de tipos de dados. Consulte json.org para mais detalhes. A propriedade format fornece outras informações sobre o tipo subjacente. As propriedades sempre terão uma propriedade type, mas algumas também podem ter uma propriedade format.

Por exemplo, números inteiros de 64 bits não podem ser representados em JSON (já que JavaScript e JSON são compatíveis com números inteiros de até 2^53). Portanto, um número inteiro de 64 bits precisa ser representado como uma string em solicitações/respostas JSON. Portanto, a propriedade type será definida como "string", mas a propriedade format será definida como "int64" para indicar que é um número inteiro de 64 bits.

A especificação do esquema JSON já define um conjunto de valores comuns para a propriedade format. O serviço de descoberta de APIs do Google é compatível com alguns desses valores e também define outros. A lista completa de valores type e format compatíveis com o serviço de descoberta de APIs do Google está resumida abaixo.

Valor do tipo Valor do formato Significado
any A propriedade pode ter qualquer tipo. É definido pela especificação de esquema JSON.
array Uma matriz JavaScript de valores. A propriedade items indica o esquema dos valores da matriz. Ela é definida pela especificação do esquema JSON.
boolean Um valor booleano, "true" ou "false". Ela é definida pela especificação do esquema JSON.
integer int32 Um número inteiro assinado de 32 bits. Ele tem um valor mínimo de -2.147.483.648 e um valor máximo de 2.147.483.647 (inclusive).
integer uint32 Um número inteiro sem assinatura de 32 bits. Ela tem um valor mínimo de 0 e um valor máximo de 4.294.967.295 (inclusive).
number double Um ponto flutuante IEEE 754 de 64 bits de precisão dupla.
number float Um ponto flutuante IEEE 754 de 32 bits de precisão única.
object Um objeto JavaScript. Ela é definida pela especificação do esquema JSON.
string Uma string arbitrária. Ela é definida pela especificação do esquema JSON.
string byte Uma string de bytes codificada e base64 preenchida com um alfabeto seguro de URL e nome de arquivo (às vezes chamado de "web-safe" ou "base64url"). Definido pela RFC4648.
string date É uma data RFC3339 no formato AAAA-MM-DD. Definido na especificação do esquema JSON.
string date-time Carimbo de data/hora RFC3339 no fuso UTC. Isso no formato aaaa-MM-ddTHH:mm:ss.SSSZ. A parte de milissegundos (".SSS") é opcional. Definido na especificação do esquema JSON.
string google-datetime Carimbo de data/hora RFC3339 no fuso UTC. Isso no formato aaaa-MM-ddTHH:mm:ss.SSSZ. A parte de milissegundos (".SSS") é opcional.
string google-duration Uma string termina no sufixo "quot;s" (indicando segundos) e é precedida pelo número de segundos, com nanossegundos expressos como segundos fracionários. O ponto é sempre usado como um ponto decimal, não uma vírgula.
string google-fieldmask Uma string em que os nomes dos campos são separados por uma vírgula. Os nomes dos campos são representados em convenções de nomenclatura de camelo inferior.
string int64 Um número inteiro assinado de 64 bits Ele tem um valor mínimo de -9.223.372.036.854.775.808 e um valor máximo de 9.223.372.036.854.775.807 (inclusive).
string uint64 Um número inteiro sem assinatura de 64 bits. Ela tem um valor mínimo de 0 e um máximo de (2^64)-1 (inclusivo).