2017-02-21 20 views
0

イムこのラッパーを使用して、繰り返しイベントを挿入しようとしている:日付のnoproblemsを持つ https://github.com/spatie/laravel-google-calendarGoogleカレンダーのAPIリピートタイムゾーン

が、日付+時刻がタイムゾーンに

を必要とする私はこのエラーを取得しておいてください。

(400)開始時刻のタイムゾーン定義がありません。

[ 
      "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;"] 
] 

私は、これらの開始にタイムゾーンを追加する方法を知らないと終了日時が

答えて

0

申し訳メイト値、パッケージには、それを行うことはできません。

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

警告は「定期的な予定の管理」に関するものだと思います。 「名前と日付でイベントを作成することに固執すれば、大丈夫だ」と言われています。 –

+0

まあ、彼は 'repeat'イベントを挿入しようとしています。それは反復とは違いますか? – EddyTheDove

+0

Googleカレンダーの「リピートイベント」の正式名称は[定期的なイベント](https://developers.google.com/google-apps/calendar/recurringevents)です。また、彼が提供したデータは、基本的に繰り返しイベントである 'recurrence'ルールのイベント定義です。 (名前は混乱しています...) –

1

Google Calendar API documentationによると、フィールドstart.dateTime(おそらくあなたの"startDateTime"フィールド)RFC 3339形式であることをassumbedされます。 (私はendDateTimeと同じことをしなければならないと仮定します)。

日付をその形式に変換する必要があります。

あなたの生データがDateTime objectであれば、あなたはこのようにそれを変換することができます:

<?php 

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

ウィル出力:

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

タイムゾーンは、この形式に含まれています。

関連する問題