As properties type e format em parâmetros e esquemas podem ser usadas para determinar o tipo de dados da property. A property type indica o tipo da property quando ela é enviada em solicitações e respostas JSON. O JSON aceita um conjunto pequeno de tipos de dados. Consulte json.org (em inglês) para ver detalhes. A property format contém mais informações sobre o tipo subjacente. As properties sempre terão uma property type, mas algumas também podem ter uma property format.
Por exemplo, um número inteiro de 64 bits não pode ser representado em JSON (já que JavaScript e JSON aceitam números inteiros até 2^53). Portanto, um número inteiro de 64 bits precisa ser representado como uma string nas solicitações/respostas JSON. Portanto, a property type será definida como "string", mas a property 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 property format. O serviço de descoberta de APIs do Google aceita alguns desses valores e também define outros. A lista completa dos valores type e format aceitos pelo serviço de descoberta de APIs do Google está resumida abaixo.
| Valor "Tipo" | Valor do formato | Significado |
|---|---|---|
any |
|
A propriedade pode ter qualquer tipo. Definido pela especificação do esquema JSON. |
any |
google.protobuf.Value |
A propriedade tem a representação JSON do tipo google.protobuf.Value. |
array |
|
Uma matriz de valores JavaScript. A property items indica o esquema dos valores da matriz. Definido pela especificação do esquema JSON.
|
array |
google.protobuf.ListValue |
A propriedade tem a representação JSON do tipo google.protobuf.ListValue. |
boolean |
|
Um valor booleano, "true" ou "false". Definido 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 (incluso). |
integer |
uint32 |
Um número inteiro sem assinatura de 32 bits. Ele tem um valor mínimo de 0 e um valor máximo de 4.294.967.295 (incluso). |
number |
double |
Um ponto flutuante IEEE 754 de dupla precisão de 64 bits. |
number |
float |
Um ponto flutuante IEEE 754 de 32 bits de precisão única. |
object |
|
Um objeto JavaScript. Definido pela especificação do esquema JSON. |
object |
google.protobuf.Struct |
A propriedade tem a representação JSON do tipo google.protobuf.Struct. |
object |
google.protobuf.Any |
A propriedade tem a representação JSON do tipo google.protobuf.Any. |
string |
|
Uma string arbitrária. Definido pela especificação do esquema JSON. |
string |
byte |
Uma string de bytes codificada em base64 com padding, codificada com um URL e alfabeto seguro de nome de arquivo (às vezes chamado de "seguro para Web" ou "base64url"). Definido por RFC 4648. |
string |
date |
Uma data RFC 3339 no formato AAAA-MM-DD. Definido na especificação do Esquema JSON. |
string |
date-time |
Um carimbo de data/hora RFC 3339 no horário UTC. Isso está no formato aaaa-MM-ddTHH:mm:ss.SSSZ. A parte de milissegundos (".SSS") é opcional. Definido na especificação do Esquema JSON. |
string |
google-datetime |
Um carimbo de data/hora RFC 3339 no horário UTC. Isso está no formato aaaa-MM-ddTHH:mm:ss.SSSZ. A parte de milissegundos (".SSS") é opcional. |
string |
google-duration |
Uma string termina com o sufixo "s" (indicando segundos) e é precedida pelo número de segundos, com nanossegundos expressos como segundos fracionários. O ponto é sempre usado como um separador decimal, não uma vírgula. |
string |
google-fieldmask |
Uma string em que os nomes de campos são separados por uma vírgula. Os nomes dos campos são representados em convenções de nomenclatura de letras minúsculas. |
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 (incluso). |
string |
uint64 |
Um número inteiro sem assinatura de 64 bits. Ele tem um valor mínimo de 0 e um valor máximo de (2^64)-1 (incluso). |