IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Points : 8
    Points
    8
    Par défaut 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 : 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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    [
      {
        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: `<div style="font-family: Arial; font-size: 13px;">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.</div>\n` +
          '<div style="font-family: Arial; font-size: 13px;">&nbsp;</div>\n' +
          '<div style="font-family: Arial; font-size: 13px;"><a rel="noopener" href="https://www.symbaloo.com/shared/AAAABT_mO-YAA41_zyTayA==" target="_blank">site de la classe</a></div>',
        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: '<div>Matériel à acheter pour le français : un grand classeur + 6 intercalaires</div>',
        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: '<div>Se procurer un grand classeur, 6 intercalaires, copies simples et doubles et des pochettes plastiques</div>',
        subject: 'LCA LATIN',
        givenAt: 2020-09-05T22:00:00.000Z,
        for: 2020-09-06T22:00:00.000Z,
        done: false,
        color: '#132726',
        files: []
      }
    ]
    Le lien vers le github de l'api : https://github.com/Litarvan/pronote-api
    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

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 946
    Points : 44 086
    Points
    44 086
    Par défaut
    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
    });

Discussions similaires

  1. Réponses: 23
    Dernier message: 06/02/2015, 13h53
  2. Réponses: 0
    Dernier message: 18/01/2015, 23h45
  3. Réponses: 0
    Dernier message: 18/01/2015, 23h45
  4. [Node.js] Présentation des API DataGen, redis-stream et Cushion
    Par vermine dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/09/2012, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo