Bu kılavuzda takvimler, etkinlikler ve bunların birbirleriyle ilişkileri açıklanmaktadır.
Takvimler
Takvim özet, varsayılan saat dilimi, konum gibi ek meta verilerle birlikte ilgili etkinliklerin oluşturduğu bir koleksiyondur. Her takvim, e-posta adresi olan bir kimlikle tanımlanır. Takvimlerin birden çok sahibi olabilir.
Etkinlikler
Etkinlik, belirli bir tarih veya saat aralığıyla ilişkilendirilmiş bir nesnedir. Etkinlikler benzersiz bir kimlikle tanımlanır. Etkinliklerde başlangıç ve bitiş tarihi/saatinin yanı sıra özet, açıklama, konum, durum, hatırlatıcılar, ekler vb. veriler bulunur.
Etkinlik türleri
Google Takvim tek ve yinelenen etkinlikleri destekler:
- Tek bir etkinlik, benzersiz bir etkinliği temsil eder.
- Yinelenen bir etkinlik, birden fazla tekrarı tanımlar.
Etkinlikler zamanlanmış veya tüm gün de olabilir:
- Zamanlanmış bir etkinlik, belirli iki zaman noktası arasında gerçekleşir. Zamanlanmış etkinlikler, ne zaman gerçekleşeceğini belirtmek için
start.dateTime
veend.dateTime
alanlarını kullanır. - Tüm gün süren bir etkinlik tüm günü veya ardışık gün serisini kapsar. Tüm gün süren etkinlikler, ne zaman gerçekleşeceğini belirtmek için
start.date
veend.date
alanlarını kullanır. Saat dilimi alanının tüm gün süren etkinlikler için önemli olmadığını unutmayın.
Düzenleyenler
Etkinliklerin tek bir düzenleyicisi vardır. Bu, etkinliğin ana kopyasını içeren takvimdir. Etkinliklerde birden fazla katılımcı da olabilir. Katılımcı, 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şkili özel bir takvim türüdür. Bu takvim, her yeni kullanıcı hesabı için otomatik olarak oluşturulur ve hesabın kimliği genellikle kullanıcının birincil e-posta adresiyle eşleşir. Hesap var olduğu sürece, birincil takvimi kullanıcı tarafından hiçbir zaman silinemez veya "sahipsiz" olamaz. Ancak dosyayı diğer kullanıcılarla paylaşmaya devam edebilirsiniz.
Birincil takvime ek olarak, açıkça istediğiniz sayıda başka takvim oluşturabilirsiniz. Bu takvimler değiştirilebilir, silinebilir ve birden fazla kullanıcı arasında paylaşılabilir.
Takvim ve takvim listesi
Takvimler koleksiyonu, mevcut tüm takvimleri temsil eder. Takvimleri oluşturmak ve silmek için kullanılabilir. Ayrıca, bir takvime erişimi olan tüm kullanıcılar arasında paylaşılan genel özellikleri de 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 yer aldığı bir koleksiyondur (web kullanıcı arayüzünün sol panelinde gösterilir). Mevcut takvimleri kullanıcı listesine eklemek veya kullanıcı listesinden kaldırmak için bu uygulamayı kullanabilirsiniz. Bu etiketi, varsayılan hatırlatıcılar gibi kullanıcıya özel takvim özelliklerinin değerlerini almak ve ayarlamak için de kullanabilirsiniz. Başka bir örnek de ö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 anlamları karşılaştırılmıştır:
İşlem | Takvimler | Takvim Listesi |
---|---|---|
insert |
Yeni bir ikincil takvim oluşturur. Varsayılan olarak bu takvim, oluşturan kişinin takvim listesine de eklenir. | Mevcut bir takvimi kullanıcının listesine ekler. |
delete |
İkincil bir takvimi siler. | Takvimi kullanıcının listesinden kaldırır. |
get |
Takvim meta verilerini (ör. başlık, saat dilimi) alır. | Meta verilerin ve renk veya geçersiz kılma hatırlatıcıları gibi kullanıcıya özel özelleştirmeleri alır. |
patch /update |
Takvim meta verilerini değiştirir. | Kullanıcıya özel takvim özelliklerini değiştirir. |
Düzenli etkinlikler
Bazı etkinlikler (ör. haftalık toplantılar, doğum günleri ve tatiller) düzenli bir şekilde birden fazla kez gerçekleşir. Bu tekrarlanan etkinlikler, farklı başlangıç ve bitiş zamanları dışında genellikle aynıdır.
Belirli bir programa göre tekrar eden etkinliklere yinelenen adı verilir. Tek etkinlikler yinelenmez ve yalnızca bir kez gerçekleşir.
Yinelenme kuralı
Düzenli bir etkinliğin zamanlaması iki bölümden tanımlanır:
Başlangıç ve bitiş alanları (bu yalnızca bağımsız bir etkinlikmiş gibi ilk olayı tanımlar)
Yinelenme alanı (etkinliğin zaman içinde nasıl tekrarlanması gerektiğini tanımlar).
Yinelenme alanı, RFC 5545'te tanımlandığı gibi bir veya daha fazla RRULE
, RDATE
ya da EXDATE
özelliğini temsil eden bir dize dizisi içerir.
RRULE
özelliği, etkinliğin tekrarlanması için düzenli bir kural tanımladığı için en önemlidir. Birkaç bileşenden oluşur. Bunlardan bazıları şunlardır:
FREQ
: Etkinliğin tekrarlanma sıklığı (ör.DAILY
veyaWEEKLY
). Zorunlu.INTERVAL
: Etkinliğin ne sıklıkta tekrarlanması gerektiğini belirtmek içinFREQ
ile birlikte çalışır. Örneğin,FREQ=DAILY;INTERVAL=2
iki günde bir anlamına gelir.COUNT
: Bu etkinliğin tekrarlanma sayısı.UNTIL
: Etkinliğin tekrarlanması gereken tarih veya tarih/saat (dahil).BYDAY
— Etkinliğin tekrarlanması gereken günler (SU
,MO
,TU
vb.). Diğer benzer bileşenler arasındaBYMONTH
,BYYEARDAY
veBYHOUR
yer alır.
RDATE
özelliği, etkinliğin gerçekleşmesi gereken ek tarihleri veya tarih-saatleri belirtir. Örneğin, RDATE;VALUE=DATE:19970101,19970120
.
RRULE
kapsamında olmayan fazladan tekrarları eklemek için bunu kullanın.
EXDATE
özelliği RDATE'e benzer ancak etkinliğin gerçekleşmemesi gereken tarihleri veya tarih-saatleri belirtir. Yani, bu tekrarların
hariç tutulması gerekir. Bu, yinelenme kuralı tarafından oluşturulan geçerli bir örneğe işaret etmelidir.
EXDATE
ve RDATE
bir saat dilimine sahip olabilir ve tüm gün süren etkinlikler için tarih (tarih-saat değil) olmalıdır.
Özelliklerin her biri yinelenme alanında birden çok kez görünebilir.
Yinelenme, tüm EXDATE
kuralları tarafından hariç tutulan tüm RRULE
ve RDATE
kurallarının toplamı olarak tanımlanır.
Aşağıda, yinelenen etkinliklere ilişkin bazı örnekler verilmiştir:
15 Eylül 2015'ten itibaren her Salı ve Cuma 06:00'dan 07:00'ye kadar gerçekleşen ve 29 Eylül'de beşinci olaydan sonra sona eren bir 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" ], …
1 Haziran 2015'te başlayan ve 10 Haziran hariç ancak 9-11 Haziran hariç ay boyunca her 3 günde bir tekrarlanan tüm gün süren bir 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 bir etkinlik birkaç örnekten oluşur: Söz konusu etkinliğin farklı zamanlarda tekrarlanması. Bu örnekler etkinlik olarak görev yapar.
Düzenli etkinlik değişiklikleri, yinelenen etkinliğin tamamını (ve tüm örneklerini) veya yalnızca tek tek örnekleri etkileyebilir. Üst tekrarlanan etkinliklerinden farklı örneklere istisnalar adı verilir.
Örneğin, bir istisnanın farklı bir özeti, farklı bir başlangıç zamanı veya yalnızca söz konusu örneğe davet edilmiş ek katılımcıları olabilir. Ayrıca, düzenli etkinliği kaldırmadan bir örneği tamamen iptal edebilirsiniz (örnek iptalleri status
etkinliğine yansıtılır).
Google Calendar API'yi kullanarak yinelenen etkinlikler ve örneklerle nasıl çalışabileceğinize dair örnekleri burada bulabilirsiniz.
Saat dilimleri
Saat dilimi, tek tip standart saati gözlemleyen bölgeyi belirtir. Google Calendar API'de, saat dilimlerini IANA saat dilimi tanımlayıcılarını kullanarak belirtirsiniz.
Takvimler ve etkinlikler için saat dilimini ayarlayabilirsiniz. Aşağıdaki bölümlerde bu ayarların etkileri açıklanmaktadır.
Takvim saat dilimi
Takvimin saat dilimi, sorgu sonuçları üzerindeki etkileri nedeniyle varsayılan saat dilimi olarak da bilinir. Takvim saat dilimi, zaman değerlerinin events.get()
, events.list()
ve events.instances()
yöntemleri tarafından yorumlanma veya sunulma şeklini etkiler.
- Sorgu sonucu saat dilimi dönüşümü
get()
,list()
veinstances()
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 etkinliklerini zaman parantezli sorgularla eşleştirme
list()
veinstances()
yöntemleri, başlangıç ve bitiş zamanı filtrelerini belirtmenize olanak tanır ve yöntemle belirtilen aralıkta yer alan örnekleri döndürür. Takvim saat dilimi, filtre spesifikasyonuna dahil olup olmadıklarını belirlemek amacıyla tüm gün süren etkinliklerin başlangıç ve bitiş zamanlarını hesaplamak için kullanılır.
Etkinlik saat dilimi
Etkinlik örneklerinin başlangıç ve bitiş zamanı vardır. Bu zamanların spesifikasyonu saat dilimini içerebilir. Saat dilimini birkaç şekilde belirtebilirsiniz. Aşağıdakiler aynı saati belirtir:
dateTime
alanına saat dilimi farkını ekleyin (ör.2017-01-25T09:00:00-0500
).- Saati ofset olmadan belirtin. Örneğin,
2017-01-25T09:00:00
içintimeZone
alanını boş bırakın (dolaylı olarak varsayılan saat dilimi kullanılır). - Zamanı ofset olmadan belirtin (örneğin,
2017-01-25T09:00:00
). Ancak saat dilimini belirtmek içintimeZone
alanını kullanın.
Tercih ederseniz, etkinlik saatlerini UTC olarak da belirtebilirsiniz:
- Zamanı UTC olarak belirtin:
2017-01-25T14:00:00Z
veya sıfır ofseti2017-01-25T14:00:00+0000
kullanın.
Etkinlik zamanının dahili gösterimi tüm bu durumlarda aynıdır ancak timeZone
alanı ayarlandığında, Takvim kullanıcı arayüzünü kullanarak etkinlik saat dilimi ayarladığınızda olduğu gibi etkinliğe bir saat dilimi eklenir:
Düzenli etkinlik saat dilimi
Düzenli etkinlikler için her zaman tek bir saat dilimi belirtilmelidir. Bu, etkinliğin tekrarlanma sayısını artırmak için gereklidir.