Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
sollte eigentlich kein Problem sein, das wird gesteuert durch den Text im Termin.
Als Beispiel: Bei mir benutze ich folgende Einträge für die Tonnen (das ist jeweils Betreff und Inhalt eines Kalendereintrags):
@bgewehr: Hast du auch das Problem bei ganztägigen Einträgen, das diese mit Uhrzeit angezeigt werden, obwohl es bei ganztägigen Einträgen ja eigentlich gar keine Uhrzeit gibt (siehe auch vorherige Posts).
Hat das Problem sonst noch jemand von euch?
Bzw. gibts auch jemanden der das Problem nicht hat?
Würde gerne mal herausfinden was uns da unterscheidet und damit herausfinden warum das Problem auftritt.
bislang hab ich eigentlich wenig bis gar keine ganztätigigen Termine benutzt - daher habe ich das vermutlich bisher nicht gesehen.
Ist aber bei mir genauso: Weihnachten als ganztätiger Termin geht bspw. vom "24.12.2014 00:00 - 25.12.2014 00:00"
Ist natürlich grundsätzlich richtig, sieht aber nicht wirklich hübsch aus.
Die Daten von Google kommen übrigens auch bei einem ganztägigen Termin genau so zurück... (Führ einfach mal das google_v3.php manuell aus, dann sieht Du die Rohdaten..)
Ich bin mir noch nicht ganz im klaren, wie das am besten in der GUI aussehen sollte und was ein klares Kriterium wäre:
eintätiger Termin:
Anzeige: nur Startdatum, keine Uhrzeiten
Kriterium: Startzeit und endezeit beide 00:00, Endedatum-1Tag gleich Startdatum
mehrtätige Termine:
Anzeige: Startdatum - Endedatum-1Tag ??? (zurückgeliefert wirde ja der NÄCHSTE Tag nach Ende...), keine Uhrzeiten
Kriterium: Startzeit und Endezeit beide 00:00, Endedatum-1Tag größer als nach Startdatum
Was meinst Du / Ihr dazu ?
Die Auswertung passiert in der calendar.php und lässt sich durchaus anpassen - ich werd's mal versuchen
Weihnachten als ganztätiger Termin geht bspw. vom "24.12.2014 00:00 - 25.12.2014 00:00"
Du hast eigentlich nicht das gleiche Problem.
Wie du selbst schreibst ist das ja OK.
Bei mir wird aber ein falsches Datum angezeigt und eine falsche Uhrzeit.
Scheinbar wird das Datum und die Uhrzeit genommen wann der Kalendereintrag erstellt wurde.
siehe Post #16 bzw. hier: https://knx-user-forum.de/attachment...erbeispiel.png
ak, ok - ich dachte, das wäre mittlerweile gelöst...
Kannst du mal das google_v3.php manuell ausführen ?
Code:
cd /var/www/smartvisu/calendar/service
php -q google_v3.php
und das Ergebnis posten ?
Dann lässt sich vielleicht analysieren, wo das Problem liegt...
(alternativ kannst du mir das Ergebnis auch ausnahmensweise per PM schicken, sind ja ggf. persönliche Daten... mit der Analysie machen wir dann hier öffentlich weiter.)
In der folgenden Variante ist das Problem mit den ganztägigen Terminen gelöst und auch die Event Farben werden verwendet, sofern angegeben. Vorrang haben aber die Farben in der Beschreibung des Termins.
Viel Spaß damit und danke für die APIV3 Umsetzung.
lg,
Andreas
PHP-Code:
<?php
/**
* -----------------------------------------------------------------------------
* @package smartVISU
* @author Martin Gleiß, updated by Carsten Gotschlich got google API V3
* @copyright 2012
* @license GPL [http://www.gnu.de]
* -----------------------------------------------------------------------------
*/
/**
* This class reads a google calenda
*/
class calendar_google extends calendar
{
/**
* initialization of some parameters
*/
public function init($request)
{
parent::init($request);
}
/**
* Check if the cache-file exists
*/
public function run()
{
//---------------------------------------------------------------------
// let's define some parameters - they need to be fetched manually
//---------------------------------------------------------------------
$client_id = ''; // put your clientID here - from Google website
$client_secret = ''; // put your client Secret here - from Google WebSite
$redirect_uri = ''; // put you redirect URI here from Google Website - only first line !
$refresh_token = ''; // Put your google refresh token here - from other PHP script
$calendar_id = ''; // get it this way: http://googleappstroubleshootinghelp.blogspot.de/2012/09/how-to-find-calendar-id-of-google.html
//---------------------------------------------------------------------
// get access token first
$token_url = 'https://accounts.google.com/o/oauth2/token';
$post_data = array(
'client_secret' => $client_secret,
'grant_type' => 'refresh_token',
'refresh_token' => $refresh_token,
'client_id' => $client_id
);
$ch = curl_init();
// -----------------------------------------------------------------------------
// call the service
// ----------------------------------------------------------------------------
$service = new calendar_google(array_merge($_GET, $_POST));
echo $service->json();
Verstehe ehrlich gesagt nicht wieso man das ganze per API anbinden muss.
Ein einfacher Ical Interpreter hätte es doch auch getan (fertige Klassen gibt es sicher), einfach dort die private ical Kalender Adresse rein füttern und fertig..
Yup, war eigentlich damals in diesem Thread schon klar (#17). Das iCal-Format ist von der Umstellung der Google-API nicht betroffen.
Werde mich demnächst mal hinsetzen und meinen sowieso angepassten Müllkalender nach ical portieren. Vermutlich wird das regelmäßige automatische Pollen der Datei vom Google-Server das kniffligste daran sein. Oder halt online parsen - muss ich mir erst mal ansehen ...
In der folgenden Variante ist das Problem mit den ganztägigen Terminen gelöst und auch die Event Farben werden verwendet, sofern angegeben. Vorrang haben aber die Farben in der Beschreibung des Termins.
Viel Spaß damit und danke für die APIV3 Umsetzung.
lg,
Andreas
PHP-Code:
<?php /** * ----------------------------------------------------------------------------- * @package smartVISU * @author Martin Gleiß, updated by Carsten Gotschlich got google API V3 * @copyright 2012 * @license GPL [http://www.gnu.de] * ----------------------------------------------------------------------------- */
/** * This class reads a google calenda */ class calendar_google extends calendar {
/** * initialization of some parameters */ public function init($request) { parent::init($request); }
/** * Check if the cache-file exists */ public function run() { //--------------------------------------------------------------------- // let's define some parameters - they need to be fetched manually //--------------------------------------------------------------------- $client_id = ''; // put your clientID here - from Google website $client_secret = ''; // put your client Secret here - from Google WebSite $redirect_uri = ''; // put you redirect URI here from Google Website - only first line !
$refresh_token = ''; // Put your google refresh token here - from other PHP script $calendar_id = ''; // get it this way: http://googleappstroubleshootinghelp.blogspot.de/2012/09/how-to-find-calendar-id-of-google.html //--------------------------------------------------------------------- // get access token first $token_url = 'https://accounts.google.com/o/oauth2/token'; $post_data = array( 'client_secret' => $client_secret, 'grant_type' => 'refresh_token', 'refresh_token' => $refresh_token, 'client_id' => $client_id ); $ch = curl_init();
// ----------------------------------------------------------------------------- // call the service // ----------------------------------------------------------------------------
$service = new calendar_google(array_merge($_GET, $_POST)); echo $service->json();
?>
ich habe jetzt durch alte googleV3.php durch den oibigen Code ersetzt und die Page refresht. Leider steht da immer noch das falsche Datum drin. Muss ich noch irgendwas tun, das ich ggf übersehen habe?
Bin jetzt leider doch erst heute dazugekommen, das bei mir einzubauen. Hat wunderbar funktioniert, wenn man den ganzen Thread exakt durchliest und die ganzen ergänzenden Hinweise beachtet!
Vielen Dank für die Umsetzung!
Carsten, vielleicht machst Du Dir ja mal noch die Arbeit, und passt den ersten Beitrag so an, dass da gleich alles passt. Ich denke, hauptsächlich müsste google_2.php (da sind immer noch Semikolons drin) und googleV3.php im Zip-File aktualisiert und die Anleitung um nen Hinweis zur Calender-ID ergänzt werden.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar