Scripte für den Google Kalender API V3

Hallo,

wäre es auch möglich, die Termine für ein bestimmtes Jahr oder einen (oder mehrere) bestimmte(n) Monat(e) auszulesen?

Viele Grüße

Götz

Hallo,

Habe das Script letzten Donnerstag nach ein wenig ärger mit den Google Zugangsdaten und der Freigabe des Kalenders doch noch zum laufen gebracht. Super Script bis jetzt, Danke an die Ersteller. Jedoch fehlte mir als Anzeige die „Beschreibung“ und der „Ort“ von meinen Terminen.

Basierend auf dem Script: „Termine auslesen mit zusätzlicher HTML-Ausgabe“ hier noch eine kleine Anleitung, wie man „Beschreibung“ und „Ort“ mit ausließt und anzeigt. Hierzu muss man folgendes im Code Suchen und Hinzufügen:

1. Bei der Variablen Deklaration:


// Variablen Deklaration
...
$Titles            = array();
...

// Variablen Deklaration
...
$Titles            = array();
$Ort               = array();
$Beschreibung      = array();
...

2. Weiter ca. 71 Zeilen darunter bei der Suchanfrage


// Die Suchanfrage ausführen 
...
$Titles[]          = utf8_decode($event->getSummary());
...
// Die Suchanfrage ausführen 
...
$Titles[]          = utf8_decode($event->getSummary());
$Beschreibung[]    = utf8_decode($event->getDescription());
$Ort[]             = utf8_decode($event->getLocation());
...

3. Anzeigen fürs Event Display und HTML-Zeile (Ganztägig):

...
        $event_display .= Date("d.m.Y",(int)$StartTimes[$sz])." ---  Ganztägig  ---   ".$Titles[$sz]."
"; 

        //zusammenbauen der HTML-Zeile 
      $browser                 .= '<tr>'; 
      $browser                 .= '<td width="80px" align="center" '.$arrStyle_akt[$sz].'>'.Date("d.m.Y",(int)$StartTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="150px" align="center" '.$arrStyle_akt[$sz].'>'." ---  Ganztägig  ---   ".'</td>'; 
      $browser                 .= '<td width="300px" align="left" '.$arrStyle_akt[$sz].'>'.$Titles[$sz].'</td>'; 
      $browser                 .= '</tr>'; 

    } 
...
...
        $event_display .= Date("d.m.Y",(int)$StartTimes[$sz])." ---  Ganztägig  ---   ".$Titles[$sz]." - ".$Beschreibung[$sz]." - ".$Ort[$sz]."
"; 

        //zusammenbauen der HTML-Zeile 
      $browser                 .= '<tr>'; 
      $browser                 .= '<td width="100px" align="center" '.$arrStyle_akt[$sz].'>'.Date("d.m.Y",(int)$StartTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="160px" align="center" '.$arrStyle_akt[$sz].'>'." ---  Ganztägig  ---   ".'</td>'; 
      $browser                 .= '<td width="350px" align="left" '.$arrStyle_akt[$sz].'>'.$Titles[$sz].'</td>'; 
      $browser                 .= '<td width="700px" align="left" '.$arrStyle_akt[$sz].'>'.$Beschreibung[$sz].'</td>'; 
      $browser                 .= '<td width="500px" align="left" '.$arrStyle_akt[$sz].'>'.$Ort[$sz].'</td>'; 
      $browser                 .= '</tr>'; 

    }...

4. und einmal für das Anzeigen Von - Bis Uhrzeit:


...
        $event_display .= Date("d.m.Y H:i:s",(int)$StartTimes[$sz])." - ".Date("H:i:s",(int)$EndTimes[$sz])."   ".$Titles[$sz]."
"; 

        //zusammenbauen der HTML-Zeile 
      $browser                 .= '<tr>'; 
      $browser                 .= '<td width="80px" align="center" '.$arrStyle_akt[$sz].'>'.Date("d.m.Y",(int)$StartTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="150px" align="center" '.$arrStyle_akt[$sz].'>'.Date("H:i:s",(int)$StartTimes[$sz])." - ".Date("H:i:s",(int)$EndTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="300px" align="left" '.$arrStyle_akt[$sz].'>'.$Titles[$sz].'</td>'; 
      $browser                 .= '</tr>'; 

    } 
...

...
        $event_display .= Date("d.m.Y H:i:s",(int)$StartTimes[$sz])." - ".Date("H:i:s",(int)$EndTimes[$sz])." - ".$Titles[$sz]." - ".$Beschreibung[$sz]." - ".$Ort[$sz]."
";  

        //zusammenbauen der HTML-Zeile 
      $browser                 .= '<tr>'; 
      $browser                 .= '<td width="100px" align="center" '.$arrStyle_akt[$sz].'>'.Date("d.m.Y",(int)$StartTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="160px" align="center" '.$arrStyle_akt[$sz].'>'.Date("H:i:s",(int)$StartTimes[$sz])." - ".Date("H:i:s",(int)$EndTimes[$sz]).'</td>'; 
      $browser                 .= '<td width="350px" align="left" '.$arrStyle_akt[$sz].'>'.$Titles[$sz].'</td>'; 
      $browser                 .= '<td width="700px" align="left" '.$arrStyle_akt[$sz].'>'.$Beschreibung[$sz].'</td>'; 
      $browser                 .= '<td width="500px" align="left" '.$arrStyle_akt[$sz].'>'.$Ort[$sz].'</td>'; 
      $browser                 .= '</tr>'; 
...

5. Anschließend kann die Breite und die Textausrichtung von jeder einzelnen Spalte noch angepasst werden.

...width="XXXNpx" align="XXX...

Bei Fehlern oder Fragen beim Hinzufügen von „Beschreibung“ und „Ort“ meldet euch einfach.

Gruß
Bernhard

Nachtrag (Hab ich gerade noch vergessen):

6. für eine Titelleiste bei der HTML Terminanzeige muss folgendes hinzugefügt werden:

...
//Terminanzeige zusammenbauen 
$event_display = "";                                        // Initialisieren der Anzeige 
$browser       =  '<table border="1" cellpadding="1" cellspacing="1" summary="Google-Kalender">'; 

while($sz < $i) 
...
...
//Terminanzeige zusammenbauen 
$event_display = "";                                        // Initialisieren der Anzeige 
$browser       =  '<table border="1" cellpadding="1" cellspacing="1" summary="Google-Kalender">'; 

// Zusammenbau der Titelleiste

$browser                 .= '<tr>'; 
$browser                 .= '<td width="100px" align="center" >Datum</td>'; 
$browser                 .= '<td width="160px" align="center" >Uhrzeit</td>'; 
$browser                 .= '<td width="350px" align="center" >Titel</td>'; 
$browser                 .= '<td width="700px" align="center" >Beschreibung</td>'; 
$browser                 .= '<td width="500px" align="center" >Ort</td>'; 
$browser                 .= '</tr>'; 

while($sz < $i) 
...

Gruß
Bernhard

Hallo User,
ich würde den Kalender auch gerne in mein System Einbinden…Jedoch scheiter ich schon an dem Googledienst :banghead:

Leider hat sich die Oberfläche so verändert das ich mich nicht mehr zurecht finde.

Kann mir hier jemand helfen?
Vll gibt es ja eine Step by Step-Anleitung für die neue vorgehensweise?

Hoffe ich finde hier hilfe

gruß
Sven

Durch die Anleitung hab ich mich irgendwie durchgehangelt.
Versucht die Schlüsselwörter zu finden und es annähend wie in den Bildern zu machen.
Einen Schlüssel und e-mail Adressen wurden bei mir erzeugt.
Nur ob das alles so richtig war kann ich noch nicht sagen.

Unter anderem bekomme ich noch unter dem OAuth 2.0 Client IDs eine Meldung kein Zustimmungsbildschirm konfiguriert wurde.
Ist dieser zwingend erforderlich, oder kann ich die Meldung ignorieren?

Momentan hänge ich unter Punkt 13 fest.
Habe die google-api-php-client.zip Datai auf meinen Win PC runtergeladen und entpackt.
Da ich symcon auf der Pi nutze die entpackte Dateien wie auf den Bildern unter symcon/scripts/google-api-php-client/ kopiert.

Bei GitHub unter dem Link zum runterladen der Datei steht noch das ich den autoloader in mein Projekt einfügen soll und dieses:
" require_once ‚/path/to/google-api-php-client/vendor/autoload.php‘ ; "

Heißt das jetzt das ich unter dem google-api ordner noch eine Datei erzeugen soll die autoload.php heißt und diesen Befehl rein schreiben:confused:

Als nächstes gleich noch die Frage wenn mir jemand beim lösen des Problems geholfen hat, ist wo genau das Script für den passenden Kalender genau reingespeichert werden soll?
In eine neue Datei? Wenn ja wie müsste die heißen?
In eine Bestehende Datei?

Ich bin leider noch blutiger Anfänger und versteh manch anscheinend doch simplen Zusammenhang noch nicht so ganz.

Hab mir heute mal alle 23 Seiten durchgelesen ob ich eventuell in den Kommentaren eine Lösung finde.

Muss man immer noch die v.1 benutzen?
Die aktuellste wäre demnach 1.1.8 vom 6.7.2016

Habe zuerst die neuste Version 2.8.3 genommen.
Die Ordnungsstruktur sieht allerdings doch etwas anders aus zu der v1.1.8 oder zu der von Schablone im Post #176.

Müsste ich die zip Datei zwingend im symcon Ordner auf der Pi entpacken oder wäre es auch möglich die entpackten Dateien vom WinRechner in den passenden Ordner auf der Pi zu kopieren?
Natürlich mit dem passenden Programm dazu.

Hallo,
nach mehreren Jahren mit diesem Verfahren hat mich die Abhängigkeit von der Google-API dazu gebracht auf das Modul iCal Abfrage zu wechseln.

Das funktioniert ohne x Skripte, Magic-Zeug und ohne externe Bibliotheken.

Mein Müll-Kalender liegt nach wie vor auf Google und wird von dem Modulsuper verarbeitet.

Grüße
Björn

Selbst ich bin auf das Modul iCal umgestiegen!!
Die Scripte haben mehrere Jahre super geklappt.
Hab sie jetzt in die Tonne gehauen.

Ich würde auch gerne auf das Modul umsteigen, es kann aber wohl leider keine Termine in den Google-Kalender schreiben…

Das weiß ich nicht. Ich brauche das aber auch nicht. Ich würde das mal erfragen.

Ich muss mal wieder ein altes Thema aufwärmen. Durch einen neuen PC und kein vernünftiges Backup, versuche ich seit 3 Tagen meinen Googlekalender in IPS einzulesen. Mit dem ICal-Modul habe ich es zwischenzeitlich geschafft. Die Meldungen die durch das script 180 geben aber immer in Zeile 43 einen Fehler aus.
43 Client_ID = „xxxxxxxxxx-eur3i4ovr001qloa22i2a96dd8ofil1n.apps.googleusercontent.com“;
bringt folgende Meldung: Parse error: syntax error, unexpected token „=“ in C:\ProgramData\Symcon\scripts\43583.ips.php on line 43.
Kann mir jemand helfen? (Gleiche Zugangsdaten wie früher!)

Das ist aber das falsche Thema für das Modul.
Oder …

Nutzt du jetzt doch ein eigenes Script?

Da musst du uns schon mehr als die eine Zeile zeigen und bitte auch als vorformatierter Text sonst zerhaut das Forum den PHP Code und man damit nix anfangen.
Michael

Es geht um dieses Thema mit dem von „Schablone“ veröffentlichtem Script Meldung 180.`

` Zeilennummer hat sich durch löschen von Leerzeilen verringert. Ich reicht es so??

Da fehlt das $ vor Client_ID…
Michael