Vacances scolaires
Bonjour, voici un site pour les différentes zones de vacances scolaire, j'ai ce code pour récupérer les vacances mais j'ai cette erreur
"ErreurTypeError: Cannot read properties of undefined (reading 'substring')decodeDate"
// Constante pour l'URL de l'API OpenDataSoft
const URL = "https://data.opendatasoft.com/api/records/1.0/search/?dataset=fr-en-calendrier-scolaire%40dataeducation&q=";
function decodeDate(DtS) {
// Extraire la date de la chaîne
var datePart = DtS.substring(0, 10); // Extraire les 10 premiers caractères qui représentent la date
// Séparer l'année, le mois et le jour
var parts = datePart.split("-");
var year = parseInt(parts[0]);
var month = parseInt(parts[1]) - 1; // Les mois sont indexés à partir de zéro dans JavaScript
var day = parseInt(parts[2]);
// Créer et retourner un objet Date
return new Date(year, month, day);
}
// Fonction pour récupérer et analyser les données depuis l'URL
function recupererEtAnalyserDonnees(url) {
var response = UrlFetchApp.fetch(url);
var content = response.getContentText();
return JSON.parse(content);
}
// Fonction pour récupérer et dessiner les vacances scolaires
function dessinerVacancesScolaires() {
// Désactiver la mise à jour de l'écran
SpreadsheetApp.enableUpdates(false);
// Effacer les données existantes dans la feuille de calcul
var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
feuille.getRange("Z2:AF1000").clearContent();
// Récupérer les données depuis l'URL
var données = recupererEtAnalyserDonnees(URL);
// Parcourir les enregistrements pour dessiner les vacances scolaires
données.records.forEach(function(record) {
var fields = record.fields;
var debut = decodeDate(fields.start_date);
var fin = decodeDate(fields.end_date);
var description = fields.description;
var zones = fields.zones;
// Dessiner les vacances scolaires dans la feuille de calcul
// Vous pouvez ajouter votre logique pour dessiner les vacances ici
// Exemple : Écrire les données dans la feuille de calcul
var dernièreLigne = feuille.getLastRow() + 1;
feuille.getRange(dernièreLigne, 26).setValue(description);
feuille.getRange(dernièreLigne, 27).setValue(zones);
feuille.getRange(dernièreLigne, 28).setValue(debut);
feuille.getRange(dernièreLigne, 29).setValue(fin);
});
// Activer la mise à jour de l'écran
SpreadsheetApp.enableUpdates(true);
}
Bonjour, je me demande si ton URL de l'API n'est pas erronée