Partage
  • Partager sur Facebook
  • Partager sur Twitter

[J2EE] Utilisation Google Calendar API

    6 juin 2014 à 15:45:17

    Bonjour à tous , 

    je suis en train de créer un site web dans lequel j'aimerai intégrer mon agenda Google. Je ne veux pas seulement l'afficher  mais aussi ajouter et supprimer des événements tout comme si j'étais sur le site Google.

    Bref pour ça j'ai commencé à essayer d'utiliser l'API mais le problème c'est que la V2 est dépréciée, donc j'ai pris la v3, et que du coup le 3/4 de la documentation concernant le calendrier n'est pas à jour. Donc je me retrouve avec du code sur lequel eclipse gueule car il ne trouve pas les sources. 

    J''ai passé 1 journée à chercher des tuto ou des exemples d'intégration de la v3 (même de la v2) et je n'ai rien trouvé si ce n'est un affichage de mon calendrier sur une page web mais sans pouvoir interagir avec .

    Donc si quelques personnes ont réussi à intégrer l'API sur leur site , je suis preneur. 

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2014 à 16:27:35

      bonjour j'espère que tu as pu trouver la solution. Peux tu m'expliquer comment tu as fait.

      je voudrai juste afficher les événements dans l'agenda.

      Merci d'avance

      • Partager sur Facebook
      • Partager sur Twitter
        24 novembre 2014 à 8:47:12

        Salut, oui j'ai trouvé mais nouveau problème, on ne peut plus se connecter à l'API de Google(pour je ne sais quelle raison), je vais donc devoir modifier mon code car là je ne peux ajouter d'événements...

        Bref si tu souhaites faire juste de l'affichage d’événements, le mieux reste d'intégrer à ton site le iframe de google agenda, sinon voilà mon code dans ma servlet pour afficher les événements selon une certaine période :

         public ArrayList<CalendarEventEntry> getEventOnDemand(String dDeb, String dFin,String GMAIL_ADR,String eGuest)
              throws IOException, ServiceException, ParseException { 
        
            // une periode precise
            URL feedUrl;
            ArrayList<CalendarEventEntry> listEvent = new ArrayList<CalendarEventEntry>();
            try {
              feedUrl =
                  new URL("https://www.google.com/calendar/feeds/" + specificAgenda + "/private/full");
        
              CalendarService myService = new CalendarService(Constants.GMAIL_APP_ID); // connexion à google
              myService.setUserCredentials(GMAIL_ADR, Constants.GMAIL_PWD); // identifiants de connexion
        
        	// l'API est assez chiante avec le format des dates, j'ai donc fait une
        	// conversion un peu à l'arrache, à toi de l'améliorer si tu te sens
              DateFormat userDateFormat = new SimpleDateFormat("dd/MM/yyyy");
              DateFormat dateFormatNeeded = new SimpleDateFormat("yyyy-MM-dd");
              SimpleDateFormat currentDate2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
        
              Date date = userDateFormat.parse(dDeb); // converti en date dd/mm/yyyy
              Date date2 = userDateFormat.parse(dFin);// converti en date dd/mm/yyyy
        
              String convertedDate = dateFormatNeeded.format(date); // converti la date en string
              String convertedDate2 = dateFormatNeeded.format(date2); // converti la date en string
        
              // Date first = currentDate2.parse(convertedDate); // converti en date iso
              // Date last = currentDate2.parse(convertedDate2); // converti en date iso
        
        
        
              DateTime startDay = new DateTime(date); 
              DateTime endDay = new DateTime(date2); 
              CalendarQuery myQuery = new CalendarQuery(feedUrl); // recuperation de l'agenda
              myQuery.setMinimumStartTime(startDay);// date début
              myQuery.setMaximumStartTime(endDay);// date fin
        	// parametres de recup des evenements
              myQuery.setStringCustomParameter("singleevents", "true"); // un evenements à la fois selon la date
              myQuery.setStringCustomParameter("orderby", "starttime"); // affichage de l'evenement le plus proche au plus eloigne
              myQuery.setStringCustomParameter("sortorder","ascending");
        
        
              CalendarEventFeed resultFeed = myService.getFeed(myQuery, CalendarEventFeed.class);
        
        	// On ajoute tous les events dans une arraylist que tu afficheras dans la JSP
              for (int i = 0; i < resultFeed.getEntries().size(); i++) {
                CalendarEventEntry entry = resultFeed.getEntries().get(i);
                listEvent.add(entry);
              }
        
        
        
            } catch (MalformedURLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
            }
            return listEvent;
          }



        • Partager sur Facebook
        • Partager sur Twitter

        [J2EE] Utilisation Google Calendar API

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown