2017-02-21 7 views
0

Im ein Wiederholungsereignis mit diesem Wrapper einzufügen versuchen: https://github.com/spatie/laravel-google-calendarGoogle Kalender API Wiederholungszeitzonen-

noproblems mit Daten zu haben, aber Datum + Zeit beinhaltet Zeitzonen

Ich erhalte diese Fehlermeldung:

(400) Fehlende Zeitzonendefinition für die Startzeit.

[ 
      "name" => "Test name here" 
      "location" => "Brisbane Australia" 
      "description" => "Desc here..." 
      "timeZone" => "Australia/Brisbane" 
      "colorId" => 4 
      "startDateTime" => "2017-03-01 14:00:00" 
      "endDateTime" => "2017-03-01 15:00:00" 
      "recurrence" => ["RRULE:FREQ=DAILY;INTERVAL=1;"] 
] 

ich weiß nicht, wie Zeitzonen hinzufügen, um diese Start- und End-Datetime-Wert

Antwort

0

Leider paaren, das Paket kann es nicht tun.

Limitations

The Google Calendar API provides many options. This package doesn't support all of them. For instance recurring events cannot be managed properly with this package. If you stick to creating events with a name and a date you should be fine.

https://github.com/spatie/laravel-google-calendar#limitations

+0

Ich denke, die Warnung ist über "wiederkehrende Ereignisse verwalten". Es sagt "Wenn Sie bei der Erstellung von Ereignissen mit einem Namen und einem Datum bleiben, sollten Sie in Ordnung sein." –

+0

Nun, er versucht "Wiederholung" Ereignis einzufügen. Ist es anders als wiederkehrend? – EddyTheDove

+0

Ich glaube, der offizielle Name für "Wiederholungsereignis" in Google Kalender lautet [Wiederkehrende Ereignisse] (https://developers.google.com/google-apps/calendar/recurringevents). Außerdem sind die von ihm gelieferten Daten eine Ereignisdefinition mit "Wiederholungs" -Regeln, die im Grunde ein wiederkehrendes Ereignis sind. (Namen sind verwirrend ...) –

1

Google Calendar API documentation Laut, wird das Feld start.dateTime (angeblich Ihre "startDateTime" Feld) assumbed RFC 3339 Format. (Ich nehme an, Sie müssen das gleiche mit endDateTime tun).

Sie müssen das Datum in dieses Format konvertieren.

Wenn Ihre Rohdaten ein DateTime object ist, können Sie es wie folgt konvertieren:

<?php 

$startDateTime = DateTime::createFromFormat("Y-m-d H:i:s", "2017-03-01 14:00:00"); 
echo $startDateTime->format(DateTime::RFC3339); 

Will Ausgang:

2017-03-01T14:00:00+08:00 

Zeitzone ist in diesem Format enthalten.