Dieser Artikel behandelt die Google Calendar API v2, die nicht mehr verwendet wird. Informationen zur aktuellen Google Calendar API v3 finden Sie hier.
Bevor Sie mit der Synchronisierung beginnen, stellen Sie sicher, dass die php_curl.dll-Erweiterung aktiviert ist.
Falls sie nicht aktiviert ist, aktivieren Sie sie, indem Sie das Semikolon in dieser Zeile in Ihrer php.ini-Datei, die von Ihrem Webserver verwendet wird, entfernen:
;extension=php_curl.dll
Nachdem Sie bestätigt haben, dass die Erweiterung aktiv ist, können Sie mit der Einrichtung fortfahren.
Um den Scheduler mit Google Kalender zu synchronisieren, gehen Sie wie folgt vor:
Serverseitig:
<?php
$email = "";
$pass = "";
$cal = "";
include('google_proxy.php');
$calendar = new GoogleCalendarProxy($email, $pass, $cal);
//$calendar->map("location", "details");
$calendar->connect();
?>
Überprüfen Sie sorgfältig, ob die Werte korrekt sind. Wenn beispielsweise der Name Ihres Kalenders test@googlemail.com ist, führt die Verwendung von test@gmail.com zu einem Fehler.
Clientseitig:
scheduler.load("../gCal_proxy/server/01_proxy.php");
Initialisieren Sie dataProcessor für die bidirektionale Synchronisation.
Fügen Sie eine weitere Skriptdatei hinzu.
<script src="../gCal_proxy/sample/codebase/dhtmlxdataprocessor.js"></script>
var dp = scheduler.createDataProcessor("../gCal_proxy/server/01_proxy.php");
dp.init(scheduler);//'scheduler' ist der Name der Scheduler-Instanz.
Die Synchronisierung ist damit abgeschlossen. Ein einsatzbereites Beispiel finden Sie in der Datei 'sample.html' im Verzeichnis [rootFolder] gCal_proxy sample.
Um Ereignisse aus Google Kalender in Ihre Datenbank zu exportieren, gehen Sie wie folgt vor:
Die Funktion 'export()' gibt die Anzahl der aus Google Kalender exportierten Datensätze zurück.
Um Ereignisse aus Ihrer Datenbank in Google Kalender zu importieren, gehen Sie wie folgt vor:
Die Funktion 'import()' gibt die Anzahl der in Google Kalender importierten Datensätze zurück.
Google Kalender und Scheduler verwenden unterschiedliche Feldsets. Um Ereignisinformationen korrekt zu synchronisieren (beim Import oder Export), ist es notwendig, entsprechende Felder zwischen den beiden Kalendern zuzuordnen.
Standardmäßig besteht folgende Zuordnung zwischen Google Kalender und Scheduler:
Google Kalender -> Scheduler
Sie können auch zusätzliche Google Kalender-Felder einbeziehen:
Feld | Beschreibung |
canEdit | gibt an, ob der angemeldete Benutzer das Ereignis bearbeiten kann. Mögliche Werte: '0' oder '1' |
created | das Erstellungsdatum des Ereignisses im Google Kalender-Format |
details | die Details des Ereignisses |
updated | das Datum der letzten Aktualisierung des Ereignisses im Google Kalender-Format |
location | der Ort des Ereignisses |
status | der aktuelle Status des Ereignisses: cancelled (Ereignis abgesagt), confirmed (Ereignis bestätigt), tentative (Ereignis vorläufig geplant) |
Um zusätzliche Informationen einzubeziehen, gehen Sie wie folgt vor:
Serverseitig:
$calendar->map("location", "place");
place – der entsprechende Feldname im Scheduler. Sie können hier einen beliebigen Namen wählen.
Speichern Sie Ihre Änderungen und schließen Sie die Datei.
Clientseitig:
In den Lightbox-Bereichen:
scheduler.config.lightbox.sections=[
...
{name:"placeField", height:50, map_to:"place", type:"textarea"}
];
Der Wert von map_to muss mit dem auf der Serverseite angegebenen Namen übereinstimmen (im Beispiel oben "place").
scheduler.locale.labels.section_placeField = 'Place';
Ersetzen Sie "placeField" nach dem Unterstrich durch den Namen Ihres Abschnitts.