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

APIs Google Discussion :

Synchro entre google sheet et google agenda


Sujet :

APIs Google

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Synchro entre google sheet et google agenda
    Bonjour,

    J'ai trouvé un script sur internet qui permet de planifier des rdv sur google agenda depuis google sheet.
    En gros, on remplis toute les info concernant un rdv sur un tableau google sheet ( date et heure du rdv, motif, etc..) et ça l'enregistre automatiquement sur votre agenda google.
    Cette partie la fonctionne.

    Par contre la ou j'ai un soucis c'est lorsque je modifie une information sur google sheet concernant un rdv au lieu d'actualiser le rdv qui est déja planifier sur google agenda, il me créer un doublon avec les info que j'ai modifié.
    Du coup je me retrouve avec 2 même rdv mais un avec les anciennes info et l'autre avec les nouvelles.
    Moi je voudrais qu'il actualise le rdv qui a les mauvaises info avec celle que je rentre sur google sheet

    voici le script 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
    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
    var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne R
    var ss = SpreadsheetApp.getActiveSpreadsheet();
     
    function onOpen() {
    var menuEntries = [{name: "Ajouter les événements à l'agenda", functionName: "importCalendar"}];
    ss.addMenu("Agenda", menuEntries); // Pour ajouter une menu Agenda et un sous-menu "ajouter les événements" dans la feuille de calcul. Cela permettra de tester manuellement la liaison entre la feuille de calcul et l'agenda
    }
     
    function importCalendar() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var startcolumn = 1; // Première colonne de prise en compte des données, soit la colonne A
    var numcolumns = 30; // Nombre de colonne
    var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 19) // Nombre de colonne contenant des données
    var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
    var column = data[i];
    var ITS = column[1]; // Colonne B - ITS CARD
    var titre = column[2]; // Colonne C - Titre
    var DateStart = column[3]; // Colonne D - date et heure de debut de l'événement
    var DateEnd = column[4]; // Colonne E - date et heure de fin de l'événement
    var HOFID = column[5]; // Colonne F - HOFID
    var Gender = column[6]; // Colonne G - Genre
    var Age = column[7]; // Colonne H - Age
    var Email = column[8]; // Colonne I - Email
    var Mobile = column[9]; // Colonne J - Telephone
    var Address = column[10]; // Colonne K - Adresse
    var City = column[11]; // Colonne L - Ville
    var Sector = column[12]; // Colonne M- Secteur
    var SubSector = column[13]; // Colonne N - Sous secteur
    var Status = column[14]; // Colonne O - Statut
    var LastYears = column[15]; // Colonne P - Année derniere
    var Remarks = column[16]; // Colonne Q - Remarque
     
    var description =
    " titre : "+ titre +
    " ITS : " + ITS +
    " HOFID : "+ HOFID +
    " Genre : "+ Gender +
    " Age : " + Age +
    " Email : " + Email +
    " Mobile : "+ Mobile +
    " Adresse : " + Address +
    " Ville :" + City +
    " Secteur " + Sector +
    " Sous Secteur :" + SubSector +
    " Statut: "+ Status +
    " Année derniere :" + LastYears +
    " Remarque :" + Remarks
     
    var eventImported = column[18];// Colonne K - Statut de l'importation - colonne AJOUTE A L'AGENDA
     
    var setupInfo = ss.getSheetByName("agenda"); // Nom de la feuille de calcul contenant la nom de l'agenda
    var calendarName = setupInfo.getRange("A1").getValue(); // Référence de la cellule contenant le nom de l'agenda
     
    var cal = CalendarApp.openByName(calendarName);
     
    if (eventImported != EVENT_IMPORTED && titre != "") // Evite les doublons dans l'agenda, si le texte AJOUTE est présent en K, l'événement n'est pas ajouté
     
    {
    cal.createEvent(titre, new Date(DateStart), new Date(DateEnd), {description : description}); // Création de l'événement dans l'agenda avec le titre, la date de début, la date de fin et la description complète
     
    sheet.getRange(startcolumn + i, 18).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
     
    SpreadsheetApp.flush();
    }
    }
    }
    je sollicite donc votre aide pour m'aider à trouver à résoudre ce soucis.

    merci à vous

  2. #2
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    bonjour,

    j'apprends depuis 2 semaines Google API Script et je peux déjà répondre à votre question.
    avez-vous lu le code ?

    Ce code ne fait que créer des rendez-vous, ce n'est pas vraiment une "synchro" mais juste une vulgaire création/insertion à l'arrache.

    Avant l'instruction "cal.createEvent", le code ne vérifie jamais si le RDV existe déjà....
    la pseudo ligne de test "doublon" ne sert qu'à vérifier qu'on ne met pas EXACTEMENT deux fois l'exacte rendez-vous; or vous ce que vous faites c'est modifiier un RDV, donc forcément, le test de "doublon" échoue.

    bonne journée à vous.

Discussions similaires

  1. [Google Sheets] MAJ Google Sheet en fonction de Google Agenda
    Par paul1fmr dans le forum APIs Google
    Réponses: 16
    Dernier message: 15/05/2019, 09h06
  2. Backend, Agenda et synchro Google agenda
    Par GARI7G dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/08/2015, 17h45
  3. Problème synchro Google Agenda sur Galaxy S
    Par PaulineGjm dans le forum Android
    Réponses: 1
    Dernier message: 07/02/2012, 11h03
  4. [Calendrier] Exploiter le calendrier Google Agenda dans un site web PHP
    Par Malacéine dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 14/09/2007, 12h20
  5. Outlook et mail de notification google agenda
    Par megane dans le forum Outlook
    Réponses: 2
    Dernier message: 03/05/2007, 09h58

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