Takvimler ve etkinlikler

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bu rehberde takvimler, etkinlikler ve birbiriyle olan ilişkileri açıklanmaktadır.

Takvimler

Takvim, özet, varsayılan saat dilimi, konum gibi ek meta verilerin yanı sıra ilgili etkinliklerin bir koleksiyonudur. Her takvim, bir e-posta adresi olan bir kimlikle tanımlanır. Takvimlerin birden fazla sahibi olabilir.

Etkinlikler

Etkinlik, belirli bir tarih veya saat aralığıyla ilişkilendirilmiş bir nesnedir. Etkinlikler benzersiz bir kimlikle tanımlanır. Başlangıç ve bitiş tarihinin yanı sıra etkinlikler; özet, açıklama, konum, durum, hatırlatıcılar, ekler gibi diğer verileri de içerir.

Etkinlik türleri

Google Takvim, tek ve tekrarlanan etkinlikleri destekler:

  • Tek bir etkinlik benzersiz bir durumu temsil eder.
  • Yinelenen etkinlik birden çok tekrarı tanımlar.

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

  • Zamanlanmış etkinlik, zamanın iki belirli noktası arasında gerçekleşir. Zamanlanmış etkinlikler, ne zaman gerçekleşeceklerini belirtmek için start.dateTime ve end.dateTime alanlarını kullanır.
  • Tüm gün süren bir etkinlik tüm güne veya art arda gün sayısına yayılır. Tüm gün süren etkinlikler, ne zaman gerçekleştiğini belirtmek için start.date ve end.date alanlarını kullanır. Saat dilimi alanının tüm gün etkinlikleri için anlamlı olmadığını unutmayın.

Düzenleyenler

Etkinliklerde, etkinliğin ana kopyasını içeren takvim olan tek bir düzenleyici bulunur. Etkinliklerde birden fazla katılımcı da olabilir. Katılımcılar genellikle davet edilen kullanıcının birincil takvimidir.

Aşağıdaki şemada; takvimler, etkinlikler ve diğer ilgili öğeler arasındaki kavramsal ilişki gösterilmektedir:

Birincil takvimler ve diğer takvimler

Birincil takvim, tek bir kullanıcı hesabıyla ilişkilendirilmiş özel bir takvim türüdür. 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. Hesap var olduğu sürece, kullanıcının birincil takvimi hiçbir zaman silinemez veya "sahibi" olamaz. Ancak yine de diğer kullanıcılarla paylaşılabilir.

Birincil takvime ek olarak istediğiniz sayıda takvim oluşturabilirsiniz. Bu takvimler birden çok kullanıcı üzerinde değiştirilebilir, silinebilir ve paylaşılabilir.

Takvim ve takvim listesi

Takvimler koleksiyonu tüm mevcut takvimleri temsil eder. Takvim oluşturmak ve silmek için kullanılabilir. Ayrıca, takvime erişimi olan tüm kullanıcılar arasında paylaşılan genel özellikleri alabilir veya ayarlayabilirsiniz. Örneğin, bir takvimin başlığı ve varsayılan saat dilimi genel özelliklerdir.

CalendarList, kullanıcının listesine eklediği tüm takvim girişlerinin bir koleksiyonudur (web kullanıcı arayüzünün sol panelinde gösterilir). Bu listeyi, kullanıcı listesine mevcut takvimleri eklemek veya listeden kaldırmak için kullanabilirsiniz. Bunu, varsayılan hatırlatıcılar gibi kullanıcıya özgü takvim özelliklerinin değerlerini almak ve ayarlamak için de kullanabilirsiniz. Başka bir örnek ön plan rengidir, çünkü farklı kullanıcılar aynı takvim için farklı renklere sahip olabilir.

Aşağıdaki tabloda, iki koleksiyon için işlemlerin anlamı karşılaştırılmıştır:

İşlem Takvimler Takvim Listesi
insert Yeni bir ikincil takvim oluşturur. Bu takvim varsayılan olarak içerik üreticinin takvim listesine de eklenir. Kullanıcı listesine mevcut bir takvimi ekler.
delete İkincil bir takvimi siler. Bir takvimi kullanıcının listesinden kaldırır.
get Başlık ve saat dilimi gibi takvim meta verilerini alır. Meta verilerin artı renk veya hatırlatıcı geçersiz kılma gibi kullanıcıya özel özelleştirmelerini alır.
patch/update Takvim meta verilerini değiştirir. Kullanıcıya özel takvim özelliklerini değiştirir.

Düzenli etkinlikler

Haftalık toplantılar, doğum günleri ve tatiller gibi bazı etkinlikler düzenli aralıklarla birden çok kez gerçekleşir. Farklı başlangıç ve bitiş zamanları dışında, yinelenen etkinlikler genellikle aynıdır.

Tanımlı bir programa göre tekrarlayan 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, tek başına bir etkinlikmiş gibi ilk tekrarı tanımlar) ve

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

Yineleme alanı, RFC 5545'te tanımlandığı gibi bir veya birkaç RRULE, RDATE veya EXDATE özelliğini temsil eden bir dize dizisi içerir.

RRULE özelliği, etkinliğin tekrarlanmasına yönelik normal bir kural olarak en önemli olanıdır. Birkaç bileşenden oluşur. Bunların bazıları aşağıda verilmiştir:

  • FREQ: Etkinliğin tekrarlanma sıklığı (DAILY veya WEEKLY gibi). Zorunlu.

  • INTERVAL: Etkinliğin ne sıklıkla tekrarlanacağını belirtmek için FREQ ile birlikte çalışır. Örneğin FREQ=DAILY;INTERVAL=2, iki günde bir anlamına gelir.

  • COUNT: Bu etkinliğin kaç kez tekrarlanacağı.

  • UNTIL - Etkinliğin tekrarlanacağı tarih veya saat (dahil).

  • BYDAY - Etkinliğin tekrarlanacağı haftanın günleri (SU, MO, TU vb.). Diğer benzer bileşenler arasında BYMONTH, BYYEARDAY ve BYHOUR bulunur.

RDATE özelliği, etkinliklerin meydana gelmesi gereken ek tarihleri veya tarih saatlerini belirtir. Örneğin, RDATE;VALUE=DATE:19970101,19970120. RRULE kapsamında olmayan ekstra durumlar eklemek için bunu kullanın.

EXDATE özelliği RDATE işlevine benzer ancak etkinliğin olmaması gereken tarihleri veya tarih saatlerini belirtir. Yani tekrarlar hariç tutulmalıdır. Bu, yinelenme kuralı tarafından oluşturulan geçerli bir örneğe işaret etmelidir.

EXDATE ve RDATE saat dilimi içerebilir ve tüm gün süren etkinlikler için tarih olmalıdır (tarih-saat değil).

Özelliklerin her biri yineleme alanında birden çok kez oluşabilir. Yineleme, tüm RRULE ve RDATE kurallarının birleştirilmesiyle, tüm EXDATE kurallarının hariç tutulduğu kurallar olarak tanımlanır.

Tekrarlanan etkinliklere bazı örnekler:

  1. 15 Eylül 2015'ten itibaren ve her ayın 29 Eylül'de beşinci kez gerçekleştikten sonra, her Salı ve Cuma 06:00'dan 07:00'a kadar gerçekleşen etkinlik:

    ...
    "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 ay boyunca her 3 günde bir tüm gün tekrarlanan (10 Haziran hariç ancak 9 ve 11 Haziran dahil) etkinlik:

    ...
    "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 etkinlikler çeşitli örneklerden oluşur: Söz konusu etkinlikler farklı zamanlarda gerçekleşir. Bu örnekler etkinlik olarak görev yapar.

Düzenli etkinlik değişiklikleri, düzenli etkinliğin tamamını (ve tüm örneklerini) veya yalnızca bağımsız örnekleri etkileyebilir. Ana düzenli etkinliklerinden farklı olan örneklere istisnalar denir.

Örneğin, bir istisna farklı bir özete, farklı bir başlangıç zamanına veya yalnızca söz konusu örneğe davet edilen ek katılımcılara sahip olabilir. Ayrıca, düzenli etkinliği kaldırmadan örneği tamamen iptal edebilirsiniz (örnek iptalleri etkinliğe status yansıtılır).

Takvim API'si aracılığıyla, yinelenen etkinlikler ve örneklerle nasıl çalışabileceğinizle ilgili örneklere buradan ulaşabilirsiniz.

Saat dilimleri

Saat dilimi, tek tip standart saat gözlemlenen bir bölgeyi belirtir. Calendar API'de saat dilimlerini IANA saat dilimi tanımlayıcılarını kullanarak belirtirsiniz.

Hem takvimler hem de etkinlikler için saat dilimini ayarlayabilirsiniz. Aşağıdaki bölümlerde bu ayarların etkileri açıklanmaktadır.

Takvim saat dilimi

Takvim saat dilimi, sorgu sonuçları üzerindeki etkileri nedeniyle varsayılan saat dilimi olarak da bilinir. Takvim saat dilimi, events.get(), events.list() ve events.instances() yöntemlerinin saat değerlerinin yorumlanma veya sunulma şeklini etkiler.

Sorgu sonucu saat dilimi dönüşümü
get(), list() ve instances() yöntemlerinin sonuçları timeZone parametresinde belirttiğiniz saat diliminde döndürülür. Bu parametreyi çıkarırsanız bu yöntemlerin tümü varsayılan olarak takvim saat dilimini kullanır.
Tüm gün süren etkinlikleri zamana bağlı sorgularla eşleştirme
list() ve instances() yöntemleri, başlangıç ve bitiş zamanı filtrelerini belirtmenizi sağlar. Belirtilen aralıkta yer alan örnekleri döndürür. Takvim saat dilimi, tüm gün süren etkinliklerin başlangıç ve bitiş zamanlarını hesaplamak için kullanılır. Bu değerler, filtre spesifikasyonunun içinde olup olmadıklarını belirler.

Etkinlik saat dilimi

Etkinlik örneklerinin başlangıç ve bitiş zamanı vardır. Bu zamanlarla ilgili spesifikasyonlar saat dilimini içerebilir. Saat dilimini birkaç şekilde belirtebilirsiniz. Aşağıdakilerin tümü aynı saati belirtir:

  • dateTime alanına saat dilimi farkı ekleyin (ör. 2017-01-25T09:00:00-0500).
  • Saat farkı olmadan zamanı belirtin. Örneğin, 2017-01-25T09:00:00 ve timeZone alanını boş bırakın (varsayılan olarak varsayılan saat dilimi kullanılır).
  • Saat farkı olmadan saati belirtin. Örneğin, 2017-01-25T09:00:00 ancak saat dilimini belirtmek için timeZone alanını kullanın.

Dilerseniz etkinlik zamanlarını UTC olarak da belirtebilirsiniz:

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

Etkinlik süresinin dahili temsili tüm bu durumlardan aynıdır, ancak timeZone alanının ayarlanması Takvim kullanıcı arayüzünü kullanarak bir etkinlik saat dilimi ayarladığınızda olduğu gibi etkinliğe bir saat dilimi ekler.

Bir etkinlikteki saat dilimini gösteren ekran görüntüsü bölümü

Düzenli etkinlik saat dilimi

Düzenli etkinlikler için her zaman tek bir saat dilimi belirtilmelidir. Etkinliğin yinelemelerinin genişletilmesi için gereklidir.