إضافة حدث متكرر إلى تقويم Google عبر XML
-
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>
يتم إضافة الحدث، لكنه لا يتكرر. عندما أنظر إلى قسم التكرار في تغذية الحدث الناتجة، فإن RURUL يحدد التكرار ليس هناك.
شكرا لك على أي مساعدة!
المحلول
شيئان:
قسم TimeZone الخاص بك غير صالح - أعتقد أن كل خاصية يجب أن تكون على خط من تلقاء نفسها.
يجب أن تكون "حتى" وقت 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
لدي شكلا التسلل هذا مايو تم تغيير حديثة.
بدلا من ذلك، قد ترغب في محاولة حذف قسم Vtyzone تماما - فقط قم بتوفير TZID، والتي يجب أن تكون معرفا تعرفه على تقويم Google. علي سبيل المثال:
DTSTART;TZID=America/Los_Angeles:20090824T080000
DTEND;TZID=America/Los_Angeles:20090824T090000
RRULE:FREQ=DAILY;WKST=SU;UNTIL=20090828T160000Z