Escreva e formate

As propriedades type e format nos parâmetros e esquemas podem ser usadas para determinar o tipo de dados da propriedade. A propriedade type indica o tipo da propriedade quando é enviada em pedidos e respostas JSON (o JSON suporta um pequeno conjunto de tipos de dados. Consulte json.org para obter detalhes). A propriedade format faculta informações adicionais sobre o tipo subjacente. As propriedades têm sempre uma propriedade type, mas algumas também podem ter uma propriedade format.

Por exemplo, não é possível representar um número inteiro de 64 bits em JSON (uma vez que o JavaScript e o JSON suportam números inteiros até 2^53). Por conseguinte, um número inteiro de 64 bits tem de ser representado como uma string em pedidos/respostas JSON. Assim, a propriedade type é definida como "string", mas a propriedade format é 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 Google APIs Discovery suporta alguns destes valores e também define outros. A lista completa de valores type e format suportados pelo serviço Google APIs Discovery está resumida abaixo.

Valor do tipo Formatar valor 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 de google.protobuf.Value.
array Uma matriz de valores de JavaScript. A propriedade items indica o esquema para os 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 com sinal de 32 bits. 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 não assinado de 32 bits. 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 simples.
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 com preenchimento e codificação em base64, codificada com um URL e um alfabeto seguro para nomes de ficheiros (por vezes, denominado "seguro para a Web" ou "base64url"). Definido pelo RFC4648.
string date Uma data RFC3339 no formato AAAA-MM-DD. Definido na especificação do esquema JSON.
string date-time Uma data/hora no formato RFC3339 em UTC. Este formato é aaaa-MM-ddTHH:mm:ss.SSSZ. A parte dos milissegundos (".SSS") é opcional. Definido na especificação do esquema JSON.
string google-datetime Uma data/hora no formato RFC3339 em UTC. Este formato é aaaa-MM-ddTHH:mm:ss.SSSZ. A parte dos milissegundos (".SSS") é opcional.
string google-duration Uma string termina com o sufixo "s" (que indica segundos) e é precedida pelo número de segundos, com os nanosegundos expressos como segundos fracionários. O ponto é sempre usado como o separador decimal e não uma vírgula.
string google-fieldmask Uma string em que os nomes dos campos estão separados por uma vírgula. Os nomes dos campos são representados em convenções de nomenclatura de camel case em minúsculas.
string int64 Um número inteiro assinado de 64 bits. 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 de 64 bits sem sinal. Tem um valor mínimo de 0 e um valor máximo de (2^64)-1 (inclusive).