Calendrier Google

Discussion et échanges de scripts pour la box eedomus

Re: Calendrier Google

Messagepar treker » 02 Oct 2015 21:20

Je confirme..recu a l instant... grrrr. . Mes agendas etaient au poil.. bon recherche d une autre solution.
treker
 
Messages : 69
Inscription : 19 Nov 2014

Re: Calendrier Google

Messagepar Sim88 » 08 Jan 2016 15:41

Bonjour
Je cherche à adapter le script pour dans premier temps récupérer uniquement l'évènement de la journée :

Code : Tout sélectionner
<?php
require_once 'GoogleAgenda.php';
require_once 'GoogleAgendaEvent.php';
require_once 'GoogleAgendaException.php';
try {
    $oAgendaConges = new GoogleAgenda("https://calendar.google.com/calendar/ical/MON_ADRESSE40gmail.com/private-MON_NUMERO/basic.ics");

    $aAujourdhui = $oAgendaConges->getEvents(array(
      'startmin' => date('Y-m-d'),
        'startmax' => date('Y-m-d',strtotime("+24 hours")),
        'sortorder' => 'ascending',
        'orderby' => 'starttime',
        'maxresults' => '1',
        'startindex' => '1',
        'search' => '',
        'singleevents' => 'true',
        'futureevents' => 'false',
        'timezone' => 'Europe/Paris',
        'showdeleted' => 'false'
    ));
   
echo $aAujourdhui ;


La variable $aAujourdhui ne me retour que Array ???
Je pense que la connexion se fait bien (même si je n'ai que l'adresse privée au forma ICAL et non XML comme demandé dans le tuto)

Merci
Sim88
 
Messages : 3
Inscription : 08 Jan 2016

Re: Calendrier Google

Messagepar pvet » 08 Jan 2016 19:56

pvet
 
Messages : 47
Inscription : 26 Oct 2012

Re: Calendrier Google

Messagepar Sim88 » 11 Jan 2016 12:08

Merci pvet
j'ai suivi ton tuto, ça marche bien :) , j'essaye maintenant de l'adapter pour parcourir l'agenda jour par jour et récupérer le prochain Event intitulé "Distribution", peux tu m'aider je bloque sur la fonction while :

Code : Tout sélectionner
    function doGet(request) {
// Définition Variable
      var JourDebut = new Date();
      var JourFin = new Date();
      var Default = "pas de vente";
      var NomCalendrier = "Vente";
      var Nomevenement = "Distribution";
// Definition des dates
      JourDebut.setHours(0,0,0,0);
      JourFin.setTime( JourDebut.getTime() + ((60*60*24) * 1000) ); //1 jour de plus
           
      var Cal = CalendarApp.getCalendarsByName(NomCalendrier)[0];
      var EventsA = Cal.getEvents(JourDebut, JourFin);
      var Aujourdhui = Default;
     
      while(EventsA[0].getTitle() != Nomevenement) {
            JourFin.setTime( JourDebut.getTime() + ((60*60*24) * 1000) ); //ajout 24h
            JourFin.setTime( JourFin.getTime() + ((60*60*24) * 1000) ); //ajout 24h
            EventsA = Cal.getEvents(JourDebut, JourFin); //Evenement du jour
            Aujourdhui = EventsA[0].getTitle();
            }

      var Response = '<?xml version="1.0" encoding="utf8" ?>';
      Response = Response + '<calendrier>';
      Response = Response + '<aujourdhui>' + Aujourdhui + '</aujourdhui>';
      Response = Response + '<date>' + JourDebut + '</date>';
      Response = Response + '</calendrier>';
     
      return ContentService.createTextOutput(Response)
      .setMimeType(ContentService.MimeType.XML);
    }
Sim88
 
Messages : 3
Inscription : 08 Jan 2016

Re: Calendrier Google

Messagepar pvet » 11 Jan 2016 14:23

Code : Tout sélectionner
function doGet(request) {
// Définition Variable
      var JourDebut = new Date();
      var JourFin = new Date();
      var Default = "pas de vente";
      var NomCalendrier = "Vente";
      var Nomevenement = "Distribution";
// Definition des dates
      JourDebut.setHours(0,0,0,0);
      JourFin.setTime( JourDebut.getTime() + ((60*60*24) * 1000) ); //1 jour de plus
           
      var Cal = CalendarApp.getCalendarsByName(NomCalendrier)[0];
      var EventsA = Cal.getEvents(JourDebut, JourFin);
      var Aujourdhui = Default;
     
      while(EventsA[0].getTitle() != Nomevenement) {
            JourFin.setTime( JourDebut.getTime() + ((60*60*24) * 1000) ); //ajout 24h
            JourFin.setTime( JourFin.getTime() + ((60*60*24) * 1000) ); //ajout 24h
            EventsA = Cal.getEvents(JourDebut, JourFin); //Evenement du jour
            Aujourdhui = EventsA[0].getTitle();
            }


ta boucle while est boiteuse, tu définie JourFin à la première ligne puis de nouveau à la deuxième ligne... pas logique ça.

pour ce que tu sembles vouloir faire, à la va-vite, je te proposerais d'essayer un truc comme ça:

Code : Tout sélectionner
var compteurJours = 0;
while(EventsA[0].getTitle() != Nomevenement) {
 jourDebut.setTime( jourDebut.getTime() + compteurJours);
 jourFin.setTime(jourDebut.getTime() + ((60*60*24) * 1000) );  // fin du jour = debut + 24h
 compteurJours = compteurJours + ((60*60*24) * 1000); // on incrémente le curseur de 24h en ms
 EventsA = Cal.getEvents(JourDebut, JourFin); //Evenement du jour
 Aujourdhui = EventsA[0].getTitle();
}
pvet
 
Messages : 47
Inscription : 26 Oct 2012

Re: Calendrier Google

Messagepar Sim88 » 12 Jan 2016 11:55

ok, j'ai modifié avec une boucle do { } while, c'est plus propre et ça marche
J'obtiens donc un fichier xml, que j'arrive à exploiter avec un script php en local :

Code : Tout sélectionner
<?php
$fichier="https://script.googleusercontent.com/macrosxxxxx"; // adresse internet
//$fichier='echo.xml'; // adresse en local

$ventes = simplexml_load_file($fichier);
if ($ventes) { echo "fichier xml ouvert<br>"; } else { echo "prob ouverture fichier<br>"; }
echo 'fichier:'.$fichier.'<br>';

foreach($ventes->vente as $vente) {
    echo utf8_decode($vente->event);
    echo $vente->heure.'<br>';
}
?>
Sim88
 
Messages : 3
Inscription : 08 Jan 2016

Précédent

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : ebcb89, Google [Bot] et 59 invité(s)