XML 経由で定期的なイベントを Google カレンダーに追加する
-
16-09-2019 - |
質問
プロトコル API を介して定期的なイベントをカレンダーに追加しようとしています。Google のインターフェースで作成したイベントから繰り返しタグの構文を取得し、それを作成リクエストで使用しました。私が提出したものは次のとおりです。
<?xml version='1.0' encoding='utf-8' ?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'></category>
<title type='text'>Hi Stack Overflow!</title>
<content type='text'>Help me please!</content>
<gd:where valueString='StackOverflow.com'></gd:where>
<gd:recurrence>
DTSTART;TZID=America/Los_Angeles:20090824T080000
DTEND;TZID=America/Los_Angeles:20090824T090000
RRULE:FREQ=DAILY;WKST=SU;UNTIL=20090828T090000
BEGIN:VTIMEZONE TZID:America/Los_Angeles X-LIC-LOCATION:America/Los_Angeles
BEGIN:DAYLIGHT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 TZNAME:PDT DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD TZOFFSETFROM:-0700 TZOFFSETTO:-0800 TZNAME:PST DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
</gd:recurrence>
</entry>
イベントは追加されますが、繰り返されません。結果のイベント フィードの繰り返しセクションを見ると、繰り返しを定義する RRULE がありません。
助けていただきありがとうございます!
解決
2 つのこと:
タイムゾーン セクションが無効です。各プロパティは単独の行に配置されるべきだと思います。
「UNTIL」は UTC 時間である必要があります。RFC2445より:
日付/時刻値として指定する場合は、UTC 時刻形式で指定する必要があります。
ここでは、「まで」の部分で現地時間を UTC に調整し、タイム ゾーンを拡張した完全な例を示します。
DTSTART;TZID=America/Los_Angeles:20090824T080000
DTEND;TZID=America/Los_Angeles:20090824T090000
RRULE:FREQ=DAILY;WKST=SU;UNTIL=20090828T160000Z
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-LIC-LOCATION:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
これには密かな疑惑がある 5月 最近の変化です。
あるいは、VTIMEZONE セクションを完全に省略して、TZID だけを指定することもできます。TZID は、Google カレンダーがサポートしていることがわかっている ID である必要があります。例えば:
DTSTART;TZID=America/Los_Angeles:20090824T080000
DTEND;TZID=America/Los_Angeles:20090824T090000
RRULE:FREQ=DAILY;WKST=SU;UNTIL=20090828T160000Z
所属していません StackOverflow