Bu kılavuzda takvimler, etkinlikler ve bunların birbirleriyle olan ilişkileri açıklanmaktadır.
Takvimler
Takvim, özet, varsayılan saat dilimi, konum gibi ek meta verilerle birlikte ilgili etkinliklerin bir koleksiyonudur. 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şkilendirilen nesnedir. Etkinlikler benzersiz bir kimlikle tanımlanır. Etkinlikler, başlangıç ve bitiş tarihi ve saatinin yanı sıra özet, açıklama, konum, durum, hatırlatıcılar, ekler vb. gibi diğer verileri de içerir.
Etkinlik türleri
Google Takvim, tek ve tekrarlanan etkinlikleri destekler:
- Tek bir etkinlik, benzersiz bir olayı temsil eder.
- Yinelenen etkinlikler birden fazla gerçekleşmeyi tanımlar.
Etkinlikler zamanlanmış veya tüm gün da olabilir:
- Zamanlanmış etkinlikler, belirli iki zaman noktası 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 etkinlikler bir günün tamamını veya art arda gelen bir dizi günü kapsar. Tam gün etkinlikler, ne zaman gerçekleştiklerini 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üzenleyeni 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 diyagramda takvimler, etkinlikler ve ilgili diğer öğ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 mevcut olduğu sürece birincil takvimi hiçbir zaman silinemez veya kullanıcı tarafından "sahipliği kaldırılamaz". Ancak bu öğe diğer kullanıcılarla paylaşılabilir.
Birincil takvime ek olarak 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. 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 alabilir veya ayarlayabilirsiniz. Örneğin, bir takvimin başlığı ve varsayılan saat dilimi global ö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). Mevcut takvimleri kullanıcı listesine eklemek ve listeden kaldırmak için bu seçeneği kullanabilirsiniz. Ayrıca, varsayılan hatırlatıcılar gibi kullanıcıya özgü takvim özelliklerinin değerlerini almak ve ayarlamak için de bu özelliği kullanırsınız. Farklı kullanıcılar aynı takvim için farklı renkler ayarlayabileceğinden ön plan rengi de buna örnek verilebilir.
Aşağıdaki tabloda, iki koleksiyon için 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 takvimi siler. | Bir takvimi kullanıcının listesinden kaldırır. |
get |
Takvim meta verilerini (ör. başlık, saat dilimi) alır. | Meta verileri ve renk veya hatırlatıcıları geçersiz kılma gibi kullanıcıya özel özelleştirmeleri alır. |
patch /update |
Takvim meta verilerinde değişiklik yapma | 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 programda birden çok kez gerçekleşir. Bu tekrarlanan etkinliklerin başlangıç ve bitiş zamanları farklı olsa da genellikle aynıdır.
Belirli bir programa göre tekrarlanan etkinlikler yinelenen olarak adlandırılır. Tek etkinlikler tekrarlanmaz 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ı (yalnızca bağımsız tek bir etkinlikmiş gibi ilk oluşumu tanımlar) ve
Yinelenme alanı (etkinliğin zaman içinde nasıl tekrarlanması gerektiğini tanımlar).
Tekrarlama 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.
Etkinliğin tekrarlanması için normal bir kural tanımladığı için RRULE
mülkü en önemlisidir. Bu işlem 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 kaç kez tekrarlanacağı.UNTIL
: Etkinliğin tekrarlanacağı tarih veya tarih saati (dahil).BYDAY
: Etkinliğin tekrarlanacağı haftanın günleri (SU
,MO
,TU
vb.). Benzer diğer bileşenler arasındaBYMONTH
,BYYEARDAY
veBYHOUR
yer alır.
RDATE
mülkü, etkinlik gerçekleşmelerinin gerçekleşmesi gereken ek tarihleri veya tarih saatlerini belirtir. Örneğin, RDATE;VALUE=DATE:19970101,19970120
.
RRULE
kapsamında olmayan ek oluşumlar eklemek için bunu kullanın.
EXDATE
özelliği RDATE'ye benzer ancak etkinliğin yapılmaması gereken tarihleri veya tarih saatlerini 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
bir saat dilimi içerebilir ve tüm gün süren etkinlikler için tarih (tarih ve saat değil) olmalıdır.
Bu özelliklerin her biri, yineleme alanında birden çok kez bulunabilir.
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'ten itibaren her Salı ve Cuma günü 06:00-07:00 arasında gerçekleşen ve 29 Eylül'deki beşinci gerçekleşme işleminden 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 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 tek bir örneğini etkileyebilir. Üst öğe olan yinelenen etkinlikten farklı olan örneklere istisna denir.
Örneğin, bir istisna farklı bir özete, farklı bir başlangıç saatine veya yalnızca söz konusu oturuma davet edilen ek katılımcılara sahip olabilir. Düzenli etkinliği kaldırmadan da 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 bir standart saatin kullanıldığı bir bölgeyi belirtir. Google Takvim API'sinde, IANA saat dilimi tanımlayıcılarını kullanarak saat dilimlerini 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öntemleri tarafından zaman değerlerinin 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 atlarsanız bu yöntemlerin tümü varsayılan olarak takvim saat dilimini kullanır.- Tüm gün süren etkinlikleri zaman aralığıyla belirtilen 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, tüm gün süren etkinliklerin filtre spesifikasyonuna uyup uymadığını belirlemek için başlangıç ve bitiş zamanlarını hesaplamak amacıyla kullanılır.
Etkinlik saat dilimi
Etkinlik örnekleri bir başlangıç ve bitiş zamanına sahiptir. Bu zamanların belirtilmesi saat dilimini içerebilir. Saat dilimini çeşitli şekillerde belirtebilirsiniz. Aşağıdakilerin tümü aynı zamanı belirtir:
dateTime
alanına bir saat dilimi ofseti 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). - Saati, saat farkı olmadan belirtin (ör.
2017-01-25T09:00:00
). Ancak saat dilimini belirtmek içintimeZone
alanını kullanın.
İsterseniz etkinlik saatlerini UTC olarak da belirtebilirsiniz:
- UTC olarak zamanı belirtin:
2017-01-25T14:00:00Z
veya sıfır saat farkı kullanın2017-01-25T14:00:00+0000
.
Etkinlik zamanının dahili gösterimi tüm bu durumlarda aynıdır ancak timeZone
alanının ayarlanması, tıpkı Takvim kullanıcı arayüzünü kullanarak etkinlik saat dilimini ayarladığınızda olduğu gibi etkinliğe bir saat dilimi ekler:
Yinelenen etkinlik saat dilimi
Yinelenen etkinlikler için her zaman tek bir saat dilimi belirtilmelidir. Etkinliğin tekrarlarını genişletmek için gereklidir.