Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

node js api pronote


Sujet :

NodeJS

  1. #1
    Candidat au Club
    node js api pronote
    Bonjour,
    je suis en train de faire un projet à partir de l'api de pronote mais je ne sais pas comment récupérer une variable dans une table const.
    Le code que j'utilise
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    const pronote = require('pronote-api');
     
    // Exemple
    const url = '';
    const username = '';
    const password = '';
    const cas = '';
     
    async function main()
    {
        const session = await pronote.login(url, username, password, cas);
     
        //console.log(session.user.name); // Affiche le nom de l'élève
       // console.log(session.user.studentClass.name); // Affiche la classe de l'élève
     
        const timetable = await session.timetable(); // Récupérer l'emploi du temps d'aujourd'hui
        const marks = await session.marks(); // Récupérer les notes du trimestre
        const devoirs = await session.homeworks();
     
     
     
        console.log(timetable); 
        console.log(marks);
        console.log(devoirs);
     
        // etc. les fonctions utilisables sont 'timetable', 'marks', 'contents', 'evaluations', 'absences',
        // 'infos', et 'menu', sans oublier les champs 'user' et 'params' qui regorgent d'informations.
    }
     
    main().catch(err => {
        if (err.code === pronote.errors.WRONG_CREDENTIALS.code) {
            console.error('Mauvais identifiants');    
        } else {
            console.error(err);
        }
    });

    Ce qu'il me renvois quand je l'execute:
    [CODE][ { from: 2020-09-07T06:15:00.000Z, to: 2020-09-07T07:15:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#132726', subject: 'LCA LATIN', teacher: 'COPPIN P.', room: '07' }, { from: 2020-09-07T07:15:00.000Z, to: 2020-09-07T08:15:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#9CD117', subject: 'HISTOIRE-GEOGRAPHIE', teacher: 'EPELBAUM M.', room: '07' }, { from: 2020-09-07T08:25:00.000Z, to: 2020-09-07T09:25:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#01C933', subject: 'FRANCAIS', teacher: 'COPPIN P.', room: '07' }, { from: 2020-09-07T10:25:00.000Z, to: 2020-09-07T11:25:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#01C933', subject: 'FRANCAIS', teacher: 'COPPIN P.', room: '07' }, { from: 2020-09-07T11:25:00.000Z, to: 2020-09-07T12:25:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#63486A', subject: 'ANGLAIS LV2', teacher: 'CLOUP-SPEER M.', room: '119' }, { from: 2020-09-07T12:25:00.000Z, to: 2020-09-07T13:25:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#2A1B19', subject: 'MUSIQUE', teacher: 'LASSERRE L.', room: '116 MUSIQUE' }, { from: 2020-09-07T13:35:00.000Z, to: 2020-09-07T15:35:00.000Z, isDetention: false, hasDuplicate: false, isAway: false, isCancelled: false, color: '#86496A', subject: 'ED.PHYSIQUE & SPORT.', teacher: 'NOBILEAU M.', room: 'Gymnase' } ]
    { subjects: [], averages: {} }
    [ { description: `Aller sur le site de la classe, naviguer jusqu'au bouton "Speak English" et inscrivez-vous sur Quizlet, en suivant la procédure indiquée (2eme colonne de la page). Vous aurez besoin du courriel d'un parent pour confirmer le compte. Nous utiliserons beaucoup Quizlet cette année, qui est un site de "flashcards" permettant de mémoriser des contenus variés.\n` + '\n' + 'site de la classe', htmlDescription: `
    Aller sur le site de la classe, naviguer jusqu'au bouton "Speak English" et inscrivez-vous sur Quizlet, en suivant la procédure indiquée (2eme colonne de la page). Vous aurez besoin du courriel d'un parent pour confirmer le compte. Nous utiliserons beaucoup Quizlet cette année, qui est un site de "flashcards" permettant de mémoriser des contenus variés.
    \n` + '
     
    \n' + '', subject: 'ANGLAIS LV2', givenAt: 2020-09-03T22:00:00.000Z, for: 2020-09-06T22:00:00.000Z, done: true, color: '#63486A', files: [ [Object] ] }, { description: 'Matériel à acheter pour le français : un grand classeur + 6 intercalaires', htmlDescription: '
    Matériel à acheter pour le français : un grand classeur + 6 intercalaires
    ', subject: 'FRANCAIS', givenAt: 2020-09-03T22:00:00.000Z, for: 2020-09-06T22:00:00.000Z, done: true, color: '#01C933', files: [] }, { description: 'Se procurer un grand classeur, 6 intercalaires, copies simples et doubles et des pochettes plastiques', htmlDescription: '
    Se procurer un grand classeur, 6 intercalaires, copies simples et doubles et des pochettes plastiques
    ', subject: 'LCA LATIN', givenAt: 2020-09-05T22:00:00.000Z, for: 2020-09-06T22:00:00.000Z, done: false, color: '#132726', files: [] } ][/CODE] Le lien vers le github de l'api : [url]https://github.com/Litarvan/pronote-api[/url] Je voudrais pouvoir récupérer : La variable room du prochain cours Tous les devoirs qui ont pour valeur done: false La variable subject de tous les cours du lendemain ça m'aiderais enormèment car je bloque sur ce point. Merci d'avance

  2. #2
    Modérateur

    Bonjour et bienvenue sur DVP.

    Regarde du côté de la méthode filter() des Array par exemple.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // retourne les éléments répondant à la condition
    const result = devoirs.filter((obj) => {
      return obj.done === false;                  // d'autres écritures sont possibles
    });

###raw>template_hook.ano_emploi###