L'API Google Health fournit des types de données permettant de suivre l'apport alimentaire et les informations nutritionnelles d'un utilisateur. Ces types vous permettent d'enregistrer des repas, de référencer des aliments dans la base de données alimentaires et de suivre les quantités de nutriments.
Types de données acceptés
Type de donnéesdataType
filter parameter |
Type d'enregistrement |
Opérations disponibles |
Champ d'application | Compatibilité avec les webhooks |
Compatibilité avec les vrais zéros |
|---|---|---|---|---|---|
Nourriture
foodfood
|
Nourriture | list, get | .nutrition.readonly.nutrition.writeonly |
||
Unité de mesure des aliments
food-measurement-unitfood_measurement_unit
|
Nourriture | list, get | .nutrition.readonly.nutrition.writeonly |
||
Journal de nutrition
nutrition-lognutrition_log
|
Échantillon | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Journal de nutrition
Un journal de nutrition représente les aliments enregistrés par un utilisateur. Il existe deux façons de créer un journal de nutrition, selon le type d'aliment :
Aliment identifié : définissez le champ
foodpour référencer une ressource Food existante. Les champsnutrients,energy,energyFromFat,totalCarbohydrate,totalFatetfoodDisplayNamesont renseignés automatiquement à partir de l'aliment référencé. Il s'agit de la méthode recommandée.Aliment anonyme : définissez manuellement le champ
foodDisplayNameet fournissez des valeurs pournutrients,energy,energyFromFat,totalCarbohydrateettotalFat. Les journaux de nutrition créés à partir d'aliments anonymes ne sont pas modifiables après leur création.
Créer un journal de nutrition avec un aliment anonyme
Pour créer une entrée de journal de nutrition, envoyez une requête POST au point de terminaison des points de données nutrition-log.
Requête
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T18:00:00Z",
"endTime": "2026-06-16T18:30:00Z"
},
"foodDisplayName": "Grilled Chicken Breast",
"mealType": "DINNER",
"energy": {
"kcal": 165
},
"totalCarbohydrate": {
"grams": 0
},
"totalFat": {
"grams": 3.6
},
"nutrients": [
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
},
{
"nutrient": "SODIUM",
"quantity": {
"grams": 0.074
}
}
],
"serving": {
"amount": 1.0
}
}
}Réponse
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/nutrition-log/dataPoints/data-point-id",
"dataSource": {
"recordingMethod": "UNKNOWN",
"application": {
"googleWebClientId": "google-web-client-id"
},
"platform": "GOOGLE_WEB_API"
},
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T18:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-06-16T18:30:00Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 18
}
},
"civilEndTime": {
"date": {
"year": 2026,
"month": 6,
"day": 16
},
"time": {
"hours": 18,
"minutes": 30
}
}
},
"energy": {
"kcal": 165
},
"totalCarbohydrate": {
"grams": 0
},
"totalFat": {
"grams": 3.6
},
"nutrients": [
{
"quantity": {
"grams": 31
},
"nutrient": "PROTEIN"
},
{
"quantity": {
"grams": 0.074
},
"nutrient": "SODIUM"
}
],
"mealType": "DINNER",
"serving": {
"amount": 1
},
"foodDisplayName": "Grilled Chicken Breast"
}
}
}Créer un journal de nutrition avec un aliment identifié
Pour enregistrer un aliment de la base de données alimentaires, définissez le champ food pour référencer une ressource Food. L'API renseigne automatiquement les champs nutritionnels.
Requête :
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"nutritionLog": {
"interval": {
"startTime": "2026-06-16T12:00:00Z",
"endTime": "2026-06-16T12:30:00Z"
},
"food": "users/me/dataTypes/food/dataPoints/food-id",
"mealType": "LUNCH",
"serving": {
"amount": 1.0
}
}
}Supprimer des journaux de nutrition
Pour supprimer une ou plusieurs entrées de journal de nutrition, envoyez une requête POST au point de terminaison batchDelete avec les noms de ressources des entrées à supprimer.
Requête :
POST https://health.googleapis.com/v4/users/me/dataTypes/nutrition-log/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/me/dataTypes/nutrition-log/dataPoints/data-point-id"
]
}Champs NutritionLog
Pour obtenir la liste complète des champs et des descriptions, consultez la documentation de référence.
EnergyQuantity
Représente une mesure d'énergie, mesurée en kilocalories (kcal). Pour en savoir plus, consultez EnergyQuantity.
{
"kcal": 165
}
WeightQuantity
Représente une mesure de poids, mesurée en grammes. Pour en savoir plus, consultez WeightQuantity.
{
"grams": 27.3
}
NutrientQuantity
Représente un nutriment spécifique et sa quantité mesurée. Pour en savoir plus, consultez NutrientQuantity.
{
"nutrient": "PROTEIN",
"quantity": {
"grams": 31
}
}
Valeurs des nutriments
Pour obtenir la liste complète des types de nutriments compatibles, consultez Nutriment.
Portion
Représente les informations sur la portion pour une entrée de journal de nutrition. Pour en savoir plus, consultez Portion.
{
"amount": 1.5
}
Valeurs MealType
Pour obtenir la liste complète des types de repas compatibles, consultez MealType.
Nourriture
Food est un type de données en lecture seule qui représente un aliment dans la base de données alimentaires.
Utilisez les opérations list et get pour parcourir les aliments disponibles et récupérer leurs informations nutritionnelles.
Lister les aliments
Pour lister les aliments, envoyez une requête GET au point de terminaison des points de données food :
GET https://health.googleapis.com/v4/users/me/dataTypes/food/dataPoints Authorization: Bearer access-token Accept: application/json
Unité de mesure des aliments
L'unité de mesure des aliments est un type de données en lecture seule qui représente les unités de mesure utilisées pour les portions d'aliments (par exemple, "tasse", "cuillère à soupe" ou "pièce").
Lister les unités de mesure disponibles
Pour lister les unités de mesure disponibles :
GET https://health.googleapis.com/v4/users/me/dataTypes/food-measurement-unit/dataPoints Authorization: Bearer access-token Accept: application/json
Consignes
- Utilisez des aliments identifiés lorsque cela est possible. L'API renseigne automatiquement les champs nutritionnels, ce qui réduit les erreurs et assure la cohérence avec la base de données alimentaires.
- Les journaux de nutrition créés à partir d'aliments anonymes ne peuvent pas être modifiés après leur création. Si vous devez corriger un journal d'aliments anonymes, supprimez-le et créez-en un autre.
- Toutes les quantités de nutriments dans le tableau
nutrientsutilisent le gramme comme unité de mesure. - Les champs
energyetenergyFromFatutilisent la kilocalorie (kcal) comme unité de mesure.