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 etkinlikleri içeren bir koleksiyondur. Her takvim, e-posta adresi olan bir kimlikle tanımlanır. Takvimlerin birden fazla sahibi olabilir.
Etkinlikler
Etkinlik, belirli bir tarih veya zaman aralığıyla ilişkilendirilmiş bir nesnedir. Etkinlikler benzersiz bir kimlikle tanımlanır. Etkinlikler, başlangıç ve bitiş tarihi/saatinin yanı sıra özet, açıklama, konum, durum, hatırlatıcılar, ekler vb. veriler içerir.
Etkinlik türleri
Google Takvim, tek ve düzenli etkinlikleri destekler:
- Tek bir etkinlik, benzersiz bir olayı temsil eder.
- Yinelenen bir etkinlik birden fazla olayı tanımlar.
Etkinlikler de zamanlanmış veya tüm gün olabilir:
- Zamanlanmış bir etkinlik, zamandaki iki belirli nokta 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ştiğ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
Etkinlikler, etkinliğin ana kopyasını içeren takvim olan tek bir düzenleyiciye sahiptir. Etkinliklerin birden fazla katılımı 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 kimliği genellikle kullanıcının birincil e-posta adresiyle eşleşir. Hesap var olduğu sürece, kullanıcı birincil takvimi hiçbir zaman silinemez veya bu takvimin "sahibi olmayabilir". Ancak diğer kullanıcılarla paylaşılmaya devam edebilir.
Birincil takvime ek olarak, istediğiniz sayıda başka takvim de 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. Takvim 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, takvim 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 listeden kaldırmak için bu uygulamayı kullanabilirsiniz. Bu dosyayı, 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ılmaktadır:
İşlem | Takvimler | CalendarList |
---|---|---|
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 özgü özelleştirmeleri 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 bir şekilde birden fazla kez gerçekleşir. Bu tekrarlanan etkinlikler, farklı başlangıç ve bitiş zamanlarına sahip olma dışında çoğu zaman aynıdır.
Belirli bir programa göre tekrar eden 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 zamanlaması iki bölümden oluşur:
Başlangıç ve bitiş alanları (bu yalnızca bağımsız bir etkinlikmiş gibi ilk olayı tanımlar) ve
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
veya 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. Çeşitli bileşenlerden oluşur. Bunlardan bazıları:
FREQ
: Etkinliğin tekrarlanması gereken sıklık (ö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.BYDAY
: Etkinliğin tekrarlanması gereken haftanın günleri (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 özelliğine benzer ancak etkinliğin gerçekleşmemesi gereken tarihleri veya tarih-saatleri belirtir. Yani bu tekrarların
hariç tutulması gerekir. Bu, yineleme 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 tarihler (tarih-saatler değil) olmalıdır.
Özelliklerin her biri yinelenme alanında birden çok kez bulunabilir.
Yinelenme, tüm RRULE
ve RDATE
kurallarının toplamından, tüm EXDATE
kuralları tarafından hariç tutulanlardan çıkarılarak tanımlanır.
Aşağıda, yinelenen etkinliklere ilişkin bazı örnekler verilmiştir:
15 Eylül 2015 tarihinde her Salı ve Cuma 06:00'dan 07:00'ye kadar süren ve 29 Eylül'de beşinci gerçekleşmeden 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ç olmak üzere 9 ve 11 Haziran hariç olmak üzere ay boyunca 3 günde bir tekrarlanan tüm gün süren 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 düzenli etkinliğin tamamını (ve tüm örneklerini) veya yalnızca tek tek örnekleri etkileyebilir. Üst tekrarlanan etkinliklerinden farklı olan örneklere istisnalar adı verilir.
Örneğin, bir istisnada farklı bir özet, farklı bir başlangıç zamanı veya yalnızca ilgili örneğe davet edilen ek katılımcılar bulunabilir. Ayrıca, düzenli etkinliği kaldırmadan bir örneği tamamen iptal edebilirsiniz (örnek iptalleri etkinliğe status
yansıtılır).
Google Takvim API'si aracılığıyla 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.
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
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 süren etkinlikleri zaman parantezli sorgularla eşleştirme
list()
veinstances()
yöntemleri, başlangıç ve bitiş zamanı filtrelerini belirtmenizi sağlar. Yöntem, belirtilen aralıktaki ö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ğıdakilerin tümü aynı saati belirtir:
dateTime
alanına bir saat dilimi farkı ekleyin (ör.2017-01-25T09:00:00-0500
).- Zamanı ofset olmadan belirtin (örneğin,
2017-01-25T09:00:00
)timeZone
alanını boş bırakın (dolaylı olarak varsayılan saat dilimi kullanılır). - Saati, ofset olmadan belirtin (örneğin,
2017-01-25T09:00:00
). Ancak saat dilimini belirtmek içintimeZone
alanını kullanın.
Dilerseniz etkinlik saatlerini UTC olarak da belirtebilirsiniz:
- Zamanı UTC olarak belirtin:
2017-01-25T14:00:00Z
veya sıfır göreli konum (2017-01-25T14:00:00+0000
) kullanın.
Etkinlik saatinin dahili gösterimi tüm bu durumlarda aynıdır ancak timeZone
alanı ayarlandığında, Takvim kullanıcı arayüzünü kullanarak bir 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 parametre, etkinliğin tekrarlarının sayısını artırmak için gereklidir.