Type et format

Les propriétés type et format des paramètres et des schémas permettent de déterminer le type de données de la propriété. La propriété type indique le type de la propriété lorsqu'elle est envoyée dans les requêtes et les réponses JSON (JSON accepte un petit ensemble de types de données, voir json.org pour plus d'informations). La propriété format fournit des informations supplémentaires sur le type sous-jacent. Les propriétés auront toujours une propriété type, mais certaines peuvent également avoir une propriété format.

Par exemple, un entier de 64 bits ne peut pas être représenté au format JSON, car JavaScript et JSON acceptent des entiers jusqu'à 2^53. Par conséquent, un entier de 64 bits doit être représenté sous forme de chaîne dans les requêtes et réponses JSON. Ainsi, la propriété type est définie sur "string", mais la propriété format est définie sur "int64" pour indiquer qu'il s'agit d'un entier de 64 bits.

La spécification du schéma JSON définit déjà un ensemble de valeurs communes pour la propriété format. Le service de découverte des API Google accepte certaines de ces valeurs et en définit d'autres. La liste complète des valeurs type et format acceptées par le service de découverte des API Google est récapitulée ci-dessous.

Valeur du type Valeur du format Signification
any La propriété peut être associée à n'importe quel type. Défini par la spécification du schéma JSON.
array Tableau de valeurs JavaScript. La propriété items indique le schéma des valeurs du tableau. Défini par la spécification du schéma JSON.
boolean Valeur booléenne ("true" ou "false"). Défini par la spécification du schéma JSON.
integer int32 Entier signé de 32 bits Sa valeur minimale est -2 147 483 648 et sa valeur maximale est 2 147 483 647 (incluse).
integer uint32 Entier non signé de 32 bits. Sa valeur minimale est 0 et sa valeur maximale est 4 294 967 295 (incluse).
number double Format à virgule flottante IEEE 754 64 bits à double précision.
number float Format à virgule flottante IEEE 754 32 bits à double précision.
object Objet JavaScript. Défini par la spécification du schéma JSON.
string Chaîne arbitraire. Défini par la spécification du schéma JSON.
string byte Chaîne d'octets complétée et encodée en base64 avec une syntaxe sûre pour les URL et les noms de fichiers (parfois appelée "adapté au Web" ou "base64url"). Définie par la norme RFC 4648.
string date Date RFC 3339 au format AAAA-MM-JJ. Défini dans la spécification du schéma JSON.
string date-time Code temporel au format UTC RFC 3339. Il est au format "aaaa-MM-jjTHH:mm:ss.SSSZ". La partie correspondant aux millisecondes (".SSS") est facultative. Défini dans la spécification du schéma JSON.
string google-datetime Code temporel au format UTC RFC 3339. Il est au format "aaaa-MM-jjTHH:mm:ss.SSSZ". La partie correspondant aux millisecondes (".SSS") est facultative.
string google-duration Une chaîne se termine par le suffixe "s" (indiquant les secondes) et est précédée du nombre de secondes, avec des nanosecondes exprimées sous forme de fractions de secondes. Le point est toujours utilisé comme séparateur décimal, et non une virgule.
string google-fieldmask Chaîne dans laquelle les noms de champs sont séparés par une virgule. Les noms des champs sont représentés selon les conventions de nommage en "lower camel case".
string int64 Entier signé de 64 bits Sa valeur minimale est -9 223 372 036 854 775 808 et sa valeur maximale est 9 223 372 036 854 775 807 (incluse).
string uint64 Entier non signé de 64 bits. Sa valeur minimale est 0 et sa valeur maximale est (2^64)-1 (incluse).