Bu kılavuzda takvimler, etkinlikler ve bunların birbirleriyle olan ilişkileri açıklanmaktadır.
Takvimler
Takvim, ilgili etkinliklerin yanı sıra özet, varsayılan saat dilimi, konum gibi ek meta verilerden oluşan bir koleksiyondur. Her takvim bir e-posta adresi olan bir kimlikle tanımlanır. Takvimlerin birden çok sahibi olabilir.
Etkinlikler
Etkinlik, belirli bir tarih veya saat aralığıyla ilişkilendirilen 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 gibi başka veriler de içerir.
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 gerçekleşeceklerini belirtmek için
start.dateTime
veend.dateTime
alanlarını kullanır. - 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 süren etkinlikler ne zaman gerçekleşeceklerini 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 anlamlı 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 bir 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 takvim kimliği genellikle kullanıcının birincil e-posta adresiyle eşleşir. Hesap mevcut olduğu sürece, kullanıcının birincil takvimi hiçbir zaman silinemez veya kullanıcının "sahip olmadığı" bir takvim bulunamaz. Ancak diğer kullanıcılarla paylaşmaya devam edebilirsiniz.
Birincil takvime ek olarak, istediğiniz sayıda başka takvimi açıkça oluşturabilirsiniz. Bu takvimler değiştirilebilir, silinebilir ve birden çok 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, takvime erişimi olan tüm kullanıcılar arasında paylaşılan genel özellikleri de alabilir veya ayarlayabilirsiniz. Örneğin, takvimin başlığı ve varsayılan saat dilimi genel özelliklerdir.
CalendarList, kullanıcının listelerine eklediği tüm takvim girişlerinin yer aldığı bir koleksiyondur (web arayüzünün sol panelinde gösterilir). Mevcut takvimleri kullanıcı listesine eklemek veya listeden kaldırmak için bu aracı kullanabilirsiniz. Varsayılan hatırlatıcılar gibi kullanıcıya özgü takvim özelliklerinin değerlerini almak ve ayarlamak için de bunu kullanabilirsiniz. Diğer bir örnek de ön plan rengidir. Çünkü aynı takvim için farklı kullanıcılar farklı renklere sahip olabilir.
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. Bu takvim, varsayılan olarak içerik üreticinin takvim listesine de eklenir. | 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 |
Başlık, saat dilimi gibi takvim meta verilerini alır. | Meta verilerin yanı sıra, 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
Haftalık toplantılar, doğum günleri ve tatiller gibi bazı etkinlikler düzenli olarak birden çok kez gerçekleşir. Başlangıç ve bitiş zamanlarının farklı olması dışında, tekrarlanan bu 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 yalnızca bağımsız tek bir etkinlikmiş gibi ilk tekrarı 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 birkaç RRULE
, RDATE
ya da EXDATE
özelliğini temsil eden dize dizisi içerir.
RRULE
özelliği, etkinliğin tekrarlanması için normal bir kural tanımladığından en önemli özelliktir. Birkaç bileşenden oluşur. Bunlardan bazıları:
FREQ
: Etkinliğin tekrarlanması gereken sıklık (DAILY
veyaWEEKLY
gibi). Zorunludur.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 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ındaBYMONTH
,BYYEARDAY
veBYHOUR
bulunur.
RDATE
özelliği, etkinliğin gerçekleşmesi gereken ek tarihleri veya tarih ve saatleri belirtir. Ö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 etkinliğin gerçekleşmemesi gereken tarihleri veya saatleri belirtir. Yani, bu oluşumlar
hariç tutulmalıdır. Bu, yineleme kuralı tarafından oluşturulan geçerli bir örneğe yönlendirmelidir.
EXDATE
ve RDATE
, saat dilimi içerebilir ve tüm gün süren etkinlikler için tarih (tarih ve saat değil) olmalıdır.
Özelliklerin her biri, yineleme alanında birden çok kez gerçekleşebilir.
Yinelenme, tüm RRULE
ve RDATE
kurallarının toplamından tüm EXDATE
kuralları tarafından hariç tutulanların çıkarılmasıyla tanımlanır.
Aşağıda, yinelenen etkinliklere ilişkin bazı örnekler verilmiştir:
15 Eylül 2015 tarihinden itibaren her Salı ve Cuma 06:00'dan 07:00'ye kadar gerçekleşen ve 29 Eylül'deki beşinci olaydan sonra duran 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 ay boyunca 3 günde bir tekrarlanan, 10 Haziran hariç ancak 9 ve 11 Haziran da dahil olmak üzere 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ç örneğinden oluşur, yani etkinliğin farklı zamanlarda tekrarlanması. Bu örnekler etkinlik olarak görev yapar.
Yinelenen etkinlik değişiklikleri, yinelenen etkinliğin tamamını (ve tüm örneklerini) veya yalnızca tekil örnekleri etkileyebilir. Ü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ı olabilir. Ayrıca, düzenli etkinliği kaldırmadan bir örneği tamamen iptal edebilirsiniz (örnek iptalleri etkinliğe status
yansıtılır).
Google Calendar API aracılığıyla düzenli etkinlikler ve örneklerle nasıl çalışabileceğinize dair örnekleri burada bulabilirsiniz.
Saat dilimleri
Saat dilimi, tek tip standart saate uyan bir 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 etkisinden dolayı varsayılan saat dilimi olarak da bilinir. Takvim saat dilimi, saat değerlerinin events.get()
, events.list()
ve events.instances()
yöntemleri tarafından yorumlanma veya sunulma şeklini etkiler.
- Sorgu sonucu saat dilimi dönüştürme
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 basamaklı sorgularla eşleştirme
list()
veinstances()
yöntemleri, belirtilen aralıkta yer alan döndürülen örnekleri kullanarak başlangıç ve bitiş zamanı filtreleri belirtmenizi sağlar. Takvim saat dilimi, filtre spesifikasyonuna uygun 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 bir başlangıç ve bitiş saati vardır. Bu saatlere ilişkin spesifikasyon, saat dilimini içerebilir. Saat dilimini birkaç farklı şekilde belirtebilirsiniz: 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çintimeZone
alanını kullanın.
İsterseniz etkinlik saatlerini UTC olarak da belirtebilirsiniz:
- Zamanı, UTC olarak belirtin:
2017-01-25T14:00:00Z
veya sıfır ofset2017-01-25T14:00:00+0000
kullanın.
Etkinlik saatinin dahili gösterimi tüm bu durumlarda aynıdır ancak timeZone
alanının ayarlanması, Takvim kullanıcı arayüzünü kullanarak etkinlik saat dilimi ayarladığınızda olduğu gibi etkinliğe saat dilimi ekler:
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.