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

  1. #1
    Membre confirmé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    avril 2009
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : avril 2009
    Messages : 836
    Points : 618
    Points
    618

    Par défaut [Google Calendar] Fonction ou méthode duration dans l'objet calendar

    bonjour,

    j'ai cherché dans tous les recoins mais je n'ai rien trouvé.
    Ni dans la doc de l'api ni même à l'affichage.
    Google Calendar ne retourne jamais la durée d'un évenement ?
    https://developers.google.com/apps-s...r/calendar-app
    https://developers.google.com/apps-s...calendar-event


    Je cherche à lister les évenements via Google Apps Script, et la documentation de la class ne présente aucune fonction, aucune méthode, aucun membre aucune propriété ou attribut de l'objet qui retourne la durée !
    ça me parait si étrange cette omiusion de la part de google.
    Quelqu'un a-t-il une idée ?

    Peut-être que le choix du nom n'est pas explicite mais j'ai déjà cherché Length, duration , interval, rien de tout cela dans l'objet Event ni calendar

    Comment faire alors, ça veut dire que tout le monde refait sa fonction pour calculer manuellement la durée ?


    merci pour vos idées et bonne journée

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    ...
    Inscrit en
    juin 2009
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : juin 2009
    Messages : 4 252
    Points : 12 729
    Points
    12 729
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    Effectivement je ne vois pas non plus de telle fonction.

    Quand tu crées un événement dans ton calendrier (en passant par l'app mobile ou le site web), tu choisis une date de début et une date de fin, et non pas une date de début et une durée. Ca se voit dans l'API d'ailleurs :


    Les API étant souvent symétriques, on retrouve donc logiquement getStartTime() et getEndTime()

    Pour calculer la durée, il suffit de faire la différence entre les 2 dates.

    Un code comme ça :
    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
    function getDuration(event) {
      var start = event.getStartTime().getTime();
      var end = event.getEndTime().getTime();
      var millis = end - start;
      return millis / 1000; // in seconds
    }
     
    function test() {
      var now = new Date();
      var nextWeek = new Date(now.getTime() + (7 * 24 * 60 * 60 * 1000));
      var events = CalendarApp.getDefaultCalendar().getEvents(now, nextWeek);
     
      Logger.log('Events between ' + now + ' and ' + nextWeek);
      events.forEach(function (event) {
        Logger.log(event.getTitle());
        Logger.log(getDuration(event) + 's');
      });
    }

  3. #3
    Membre confirmé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    avril 2009
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : avril 2009
    Messages : 836
    Points : 618
    Points
    618

    Par défaut

    merci, c'est ce que j'avais envisagé de faire mais j'espèrais tellement me priver d'avoir à réinventer le moulin pour un besoin si "évident" dans un calendrier. En piochant encore plus loin, je m'apperçois aussi que Google Calendar ne permet pas d'afficher en liste les rendez-vous à la façon "tâches à faire" avec en colonne la durée...., de quand à quand...

    Je sais que c'est une donnée calculée et que par convention informatique, on ne met pas d'attribut calculé dans une classe d'objet, mais quand-même, une fonction standardisé retournant la durée eut été la bienvenue...

    bonne journée

    PS / HS : je me demande si la class de Google Map a une fonction qui retourne la longueur d'un trajet .... est-ce que google y a pensé là-bas...

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    ...
    Inscrit en
    juin 2009
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : juin 2009
    Messages : 4 252
    Points : 12 729
    Points
    12 729
    Billets dans le blog
    1

    Par défaut

    Je sais que c'est une donnée calculée et que par convention informatique, on ne met pas d'attribut calculé dans une classe d'objet, mais quand-même, une fonction standardisé retournant la durée eut été la bienvenue...
    J'ai l'impression qu'il n'y a pas d'objet pour stocker une durée en JavaScript. Une différence entre deux dates donne un nombre de millisecondes http://www.finalclap.com/faq/88-java...ifference-date (*) mais tu ne pas encore en faire grand chose, notamment si tu souhaites afficher une durée. La plus-value d'une fonction d'API pour faire une différence est très faible...

    (*) = En lisant ça, je me rend compte que les getTime() de mon code sont sans doute non nécessaires.

    PS : c'est une bonne question Sans doute parce que la distance d'un trajet n'est pas obligatoirement une différence de coordonnées.

  5. #5
    Membre confirmé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    avril 2009
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : avril 2009
    Messages : 836
    Points : 618
    Points
    618

    Par défaut

    Citation Envoyé par Bktero Voir le message
    J'ai l'impression qu'il n'y a pas d'objet pour stocker une durée en JavaScript. Une différence entre deux dates donne un nombre de millisecondes http://www.finalclap.com/faq/88-java...ifference-date (*) mais tu ne pas encore en faire grand chose, notamment si tu souhaites afficher une durée. La plus-value d'une fonction d'API pour faire une différence est très faible..
    sauf erreur, la partie calcul/compialtion/interpréteur se trouve côté serveur pour Apps script, non ?
    donc ça économiserait de la charge si 5000000 calculs étaient centralisés par une fonction standart plutôt que 500000 utilisateurs (comme moi) crée sa propre fonction durée.
    Quand j'oublie un ";"/parenthèse c'est le serveur Google qui me le dit après upload de mon code et non pas mon navigateur client qui travaille à faire le boulout d'interprêteur.
    Si je ne me trompe, il n'existe aucun éditeur permettant de faire du gs (google script apps script) offline n'est-ce pas ? Ne serait-ce que tester la syntaxe/interpréteur avant la connexion aux données/objets online.

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    ...
    Inscrit en
    juin 2009
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : juin 2009
    Messages : 4 252
    Points : 12 729
    Points
    12 729
    Billets dans le blog
    1

    Par défaut

    Que Google fasse x fois le calcul dans une fonction à eux ou dans une fonction aux utilisateurs, ça fait x fois le calcul.

    Le seul truc qui existe à ma connaissance c'est https://github.com/google/clasp mais je n'ai jamais testé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Méthode Put() dans les objets WMI.
    Par simber dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 01/04/2017, 18h41
  2. comment intégrer google calendar dans mon site
    Par seydinan dans le forum WebDev
    Réponses: 3
    Dernier message: 20/11/2012, 11h24
  3. Réponses: 0
    Dernier message: 25/02/2012, 10h02
  4. Procédural dans l'objet (méthodes versus fonctions)
    Par Jimalexp dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 23/01/2009, 14h32

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