Takvimler ve etkinlikler

Bu kılavuzda takvimler, etkinlikler ve bunların birbirleriyle olan ilişkileri açıklanmaktadır.

Takvimler

Takvim ilgili etkinliklerin yanı sıra ek meta verilerden oluşan bir koleksiyondur saat dilimi, konum vb. gibi bilgileri görebilirsiniz. Her takvim bir kimlikle (e-posta adresi) kullanabilirsiniz. Takvimlerin birden çok sahibi olabilir.

Etkinlikler

Etkinlik belirli bir tarih veya saat aralığıyla ilişkili bir nesnedir. Etkinlikler benzersiz bir kimlikle tanımlanır. Proje başlangıcının yanı sıra etkinliklerin özet, açıklama, özet ve seyahat durumu gibi diğer verileri konum, durum, hatırlatıcılar, ekler vb.

Etkinlik türleri

Google Takvim, tek ve yinelenen etkinlikleri destekler:

  • Tek bir etkinlik, benzersiz bir olayı temsil eder.
  • Yinelenen etkinlik birden fazla tekrarı tanımlar.

Etkinlikler ayrıca zamanlanmış veya tüm gün olabilir:

  • Zamanlanmış bir etkinlik, zaman içindeki iki belirli nokta arasında gerçekleşir. Zamanlanmış etkinlikler ne zaman yapılacağını belirtmek için start.dateTime ve end.dateTime alanlarını meydana gelir.
  • Tüm gün süren bir etkinlik, bir günün tamamını veya art arda birkaç gün sürer. Tüm gün etkinlikler, ne zaman gerçekleşeceklerini belirtmek için start.date ve end.date alanlarını kullanır. Saat dilimi alanının tüm gün süren etkinlikler için anlamlı olmadığını unutmayın.

Düzenleyenler

Etkinliklerde tek bir düzenleyici bulunur, bu da ana kopyayı içeren takvimdir. bu etkinlikten bahsedeceğiz. Etkinliklerde birden fazla katılımcıları ekleyin. Katılımcı, genellikle davet edilen bir kullanıcının birincil takvimidir.

Aşağıdaki şemada takvimler arasındaki kavramsal ilişki gösterilmiştir. etkinlikleri ve diğer ilgili öğeleri içerir:

Birincil takvimler ve diğer takvimler

Birincil takvim, tek bir takvimle ilişkili özel bir takvim türüdür. kullanıcı hesabı. Bu takvim her yeni kullanıcı hesabı için otomatik olarak oluşturulur ve kimliği genellikle kullanıcının birincil e-posta adresiyle eşleşir. Önemli hesabı varsa, bu hesabın birincil takvimi hiçbir zaman silinemez veya "sahip olunmadığı" için tarafından belirtir. Ancak diğer kullanıcılarla paylaşmaya devam edebilirsiniz.

Birincil takvime ek olarak, istediğiniz sayıda resmi oluşturabilirsiniz. diğer takvimler; Bu takvimler değiştirilebilir, silinebilir ve paylaşılabilir kullanıcı erişimidir.

Takvim ve takvim listesi

Takvimler koleksiyonu mevcut tüm takvimleri temsil eder. Hesap oluşturmak ve silmek için kullanılabilir takvim. Ayrıca tüm Google Hesaplarında paylaşılan genel Takvime erişimi olan kullanıcılar. Örneğin, bir takvimin başlığı ve varsayılanı saat dilimi, global özelliklerdir.

CalendarList (Takvim Listesi) bir Kullanıcının kendi listesine eklediği tüm takvim girişlerinin koleksiyonu (gösterilen ). Mevcut hesabı eklemek ve kaldırmak için takvim ve takvim etkinliği ayarlayabilirsiniz. Bunu ayrıca, verilerinizi almak ve kullanıcıya özgü takvim özelliklerinin değerlerini (ör. varsayılan hatırlatıcılar) ayarlayabilirsiniz. Diğer ön plan rengi örnektir, çünkü farklı kullanıcılar farklı renklere sahip olabilir ayarlanmış olması gerekir.

Aşağıdaki tabloda iki koleksiyondaki işlemlerin anlamı karşılaştırılmıştır:

İşlem Takvimler CalendarList
insert Yeni bir ikincil takvim oluşturur. Varsayılan olarak bu takvim , içerik üreticinin takvim listesine eklendi. Mevcut bir takvimi kullanıcının listesine ekler.
delete İkincil bir takvimi siler. Bir takvimi kullanıcının listesinden kaldırır.
get Takvim meta verilerini (ör. başlık, saat dilimi. Meta verileri ve kullanıcıya özel özelleştirmeyi alır değiştirme veya geçersiz kılma hatırlatıcıları kullanabilirsiniz.
patch/update Takvim meta verilerini değiştirir. Kullanıcıya özel takvim özelliklerini değiştirir.

Düzenli etkinlikler

Haftalık toplantılar gibi bazı etkinlikler düzenli aralıklarla birden çok kez gerçekleştirilir ve bayramlar olabilir. Farklı başlangıç ve bitiş saatleri dışında bu tekrarlanan etkinlikler genellikle aynıdır.

Belirli bir programa göre tekrarlanan etkinlikler yinelenen olarak adlandırılır. Tek etkinlikler yinelenmez ve yalnızca bir kez gerçekleşir.

Yinelenme kuralı

Düzenli bir etkinliğin programı iki bölümde tanımlanır:

  • Başlangıç ve bitiş alanları (bu alanlar, sanki tek bir etkinlik bile olabilir)

  • Yinelenme alanı (etkinliğin zaman içinde nasıl tekrarlanması gerektiğini tanımlar).

Yinelenme alanı, bir veya birkaçı temsil eden dize dizisi içerir. RFC'de tanımlandığı şekliyle RRULE, RDATE veya EXDATE özellikleri 5545.

RRULE özelliği, şunun için normal bir kural tanımladığından en önemli değerdir: etkinliği tekrarlarsınız. Birkaç bileşenden oluşur. Bunlardan bazıları:

  • FREQ — Etkinliğin tekrarlanma sıklığı (ör. DAILY veya WEEKLY). Zorunludur.

  • INTERVAL - Etkinliğin ne sıklıkta yapılacağını belirtmek için FREQ ile birlikte çalışır tekrarlanmalıdır. Örneğin, FREQ=DAILY;INTERVAL=2, dakikada bir kez anlamına gelir. iki gün.

  • COUNT — Bu etkinliğin tekrarlanma sayısı.

  • UNTIL — Etkinliğin tekrarlanacağı tarih veya saat (bu tarih ve saat dahil).

  • BYDAY — Etkinliğin tekrarlanacağı günler (SU, MO, TU vb.). Benzer diğer bileşenler arasında şunlar bulunur: BYMONTH, BYYEARDAY ve BYHOUR.

RDATE özelliği, etkinliğin gerçekleşeceği ek tarihleri veya tarih ve saatleri belirtir. en iyisi. Örneğin, RDATE;VALUE=DATE:19970101,19970120. RRULE kapsamında olmayan ekstra tekrarları eklemek için bunu kullanın.

EXDATE özelliği, RDATE özelliğine benzer ancak tarih ve/saat değerlerini belirtir ne zaman gerçekleşmemesi gerektiği. Yani bu durumların yaşanması hariç tutuldu. Bu, yineleme kuralı tarafından oluşturulan geçerli bir örneğe yönlendirmelidir.

EXDATE ve RDATE tarihlerinde saat dilimi bulunabilir (tarih-saat değil) sahip olmanız gerekir.

Özelliklerin her biri, yineleme alanında birden çok kez gerçekleşebilir. Yinelenme, tüm RRULE ve RDATE kurallarının toplamından çıkarılmasıyla elde edilen tüm EXDATE kurallarıyla hariç tutulanlar.

Aşağıda, yinelenen etkinliklere ilişkin bazı örnekler verilmiştir:

  1. Şu andan itibaren her salı ve cuma günü 06:00'dan 07:00'ye kadar gerçekleşen etkinlik 29 Eylül 2015'te başlayacak ve 29 Eylül'deki beşinci olaydan sonra durdurulacak:

    ...
    "start": {
     "dateTime": "2015-09-15T06:00:00+02:00",
     "timeZone": "Europe/Zurich"
    },
    "end": {
     "dateTime": "2015-09-15T07:00:00+02:00",
     "timeZone": "Europe/Zurich"
    },
    "recurrence": [
     "RRULE:FREQ=WEEKLY;COUNT=5;BYDAY=TU,FR"
    ],
    …
    
  2. 1 Haziran 2015'te başlayan ve 3 günde bir tekrarlanan, tüm gün süren bir etkinlik 10 Haziran hariç ancak 9 ve 11 Haziran dahil ay boyunca:

    ...
    "start": {
     "date": "2015-06-01"
    },
    "end": {
     "date": "2015-06-02"
    },
    "recurrence": [
     "EXDATE;VALUE=DATE:20150610",
     "RDATE;VALUE=DATE:20150609,20150611",
     "RRULE:FREQ=DAILY;UNTIL=20150628;INTERVAL=3"
    ],
    …
    

Örnekler ve istisnalar

Düzenli bir etkinlik birkaç örneğinden, yani tekrarlanan etkinliklerden oluşur. olduğunu görebilirsiniz. Bu örnekler etkinlik olarak görev yapar.

Düzenli olarak yapılan etkinlik değişiklikleri, düzenli etkinlik (ve tüm örnekleri) veya yalnızca tek tek örnekler. Üst öğelerin düzenli etkinliğinden farklı olan örneklere istisnalar adı verilir.

Örneğin, bir istisnanın farklı bir özeti, farklı bir başlangıç zamanı, veya yalnızca bu örneğe davet edilen ek katılımcılar. Ayrıca, örneği tamamen kaldırmaz. (örnek iptalleri etkinliğe status) tıklayın.

Örnekler: Düzenli etkinlikler ve örneklerle Google Calendar API'ye buradan ulaşabilirsiniz.

Saat dilimleri

Saat dilimi, tek tip standart saate uyan bir bölgeyi belirtir. Google Calendar API'de saat dilimlerini belirtmek için IANA saat dilimi tanımlayıcıları.

Hem takvimler hem de etkinlikler için saat dilimini ayarlayabilirsiniz. Aşağıdaki bölümler ve bu ayarların etkilerini açıklamaktadır.

Takvim saat dilimi

Takvimin saat dilimi, aşağıdaki nedenlerden dolayı varsayılan saat dilimi olarak da bilinir: sorgu sonuçları üzerindeki etkileridir. Takvim saat dilimi, düzeni etkiler zaman değerlerinin yorumlandığı veya events.get(), events.list() ve events.instances() yöntemlerine dokunun.

Sorgu sonucu saat dilimi dönüştürme
Sonuçlar: get() list() ve instances() yöntemler, timeZone içinde belirttiğiniz saat diliminde döndürülür. parametresinden sonra bir değer girin. Bu parametreyi atlarsanız bu yöntemlerin tümü takvimi kullanır .
Tüm gün etkinliklerini zaman basamaklı sorgularla eşleştirme
list() ve instances() yöntemleriyle başlangıç ve bitiş zamanı filtreleri belirleyebilirsiniz. belirtilen aralıkta kalan örnekler döndürür. Takvim saat dilimi belirlemek için tüm gün süren etkinliklerin başlangıç ve bitiş zamanlarını olup olmadıklarını görebilirsiniz.

Etkinlik saat dilimi

Etkinlik örneklerinin bir başlangıç ve bitiş zamanı vardır. bu zamanların teknik özellikleri saat dilimini içerebilir. Saat dilimini birkaç farklı şekilde belirtebilirsiniz: "the" aşağıdakilerin tümü aynı saati belirtir:

  • dateTime alanına saat dilimi farkını ekleyin (ör. 2017-01-25T09:00:00-0500).
  • Zaman farkı olmadan saati belirtin, örneğin 2017-01-25T09:00:00. timeZone alanını boş bırakın (bu işlem, dolaylı olarak varsayılan saat dilimini kullanır).
  • Zaman farkı olmadan saati belirtin (ör. 2017-01-25T09:00:00). Ancak saat dilimini belirtmek için timeZone alanını kullanın.

İsterseniz etkinlik saatlerini UTC olarak da belirtebilirsiniz:

  • Zamanı, UTC olarak belirtin: 2017-01-25T14:00:00Z veya sıfır ofset 2017-01-25T14:00:00+0000 kullanın.

Etkinlik zamanının şirket içinde temsili tüm bu durumlarda aynıdır. Ancak timeZone alanını ayarlamak, etkinliğe saat dilimi eklemek için Takvim'i kullanarak bir etkinlik saat dilimi ayarladığınızda Kullanıcı arayüzü:

Bir etkinliğin saat dilimini gösteren ekran görüntüsü parçası

Yinelenen etkinlik saat dilimi

Düzenli etkinlikler için her zaman tek bir saat dilimi belirtilmelidir. Etkinliğin yinelenme sıklığını artırmak için gereklidir.