Bu sayfada, eventType
özelliği ve Google Takvim API'sinde kullanılabilen etkinlik türlerinin özellikleri açıklanmaktadır.
Google Takvim, kullanıcıların genel etkinliklerin yanı sıra belirli kullanım alanları için tasarlanmış ve özel özelliklere sahip etkinlikler oluşturmasına olanak tanır.
Etkinlik türü, API'de aşağıdaki yerlerde bulunabilir:
- Tüm etkinlikler
eventType
ile döndürülür. - Etkinlik kaynağı oluşturulurken veya güncellenirken
eventType
ayarlanmalıdır. Ayarlanmazsa'default'
türü kullanılır. eventTypes
Belirli türlerdeki etkinlikleri listelemek içinEvents:list
çağrısında belirtilebilir. Tür belirtilmezse tüm etkinlik türleri döndürülür.eventTypes
Belirli türdeki etkinliklerle ilgili güncellemelere abone olmak içinEvents:watch
çağrısında belirtilebilir. Tür belirtilmezse istek, tüm etkinlik türlerine abone olunmasıyla sonuçlanır.
Varsayılan etkinlik
default
etkinlik türündeki etkinlikler oluşturulur ve Google Calendar API'nin ana kaynaklarından biri olarak kullanılır. Etkinliği daha fazla özelleştirmek için kullanılabilecek çok çeşitli özellikleri destekler.
Google Takvim etkinlikleriyle çalışmaya başlamak için Etkinlik oluşturma başlıklı makaleyi inceleyin.
Doğum Günü
Doğum günleri, yıllık olarak tekrarlanan özel etkinliklerdir.
Kullanıcılar, Google Takvim'de doğum günü etkinliklerini manuel olarak oluşturabilir. Ayrıca, kullanıcılar Google Kişiler'e kişi ekleyip doğum gününü ve diğer önemli tarihleri girdiğinde bu bilgiler Google Takvim ile senkronize edilir. Kullanıcıların kendi doğum günleri de Google Hesabı profillerinden Google Takvim'e senkronize edilir.
Google Calendar API, doğum günü etkinliklerini okumak için get
, instances
ve
list
yöntemlerini destekler. Yalnızca doğum günü etkinliklerini listelemek için eventTypes
, 'birthday'
olarak ayarlanabilir. Tür belirtilmezse doğum günleri diğer tüm etkinlik türleriyle birlikte listelenir.
Döndürülen Event
nesnelerinde, bu özel etkinlik hakkında daha fazla bilgi için birthdayProperties
alanını inceleyin. birthdayProperties
aşağıdaki alanları içerir:
type
: Doğum günü, yıl dönümü veya başka bir önemli tarih gibi bu özel etkinliğin türü.customTypeName
: Bu özel etkinlik için kullanıcı tarafından belirtilen etiket.type
,'custom'
olarak ayarlanırsa bu alan doldurulur.contact
: Bu özel etkinliğin bağlı olduğu kişinin kaynak adı (varsa). Bu,'people/c12345'
biçimindedir ve People API'den iletişim bilgilerini getirmek için kullanılabilir.
API, aşağıdaki özelliklere sahip insert
yöntemi kullanılarak doğum günü etkinlikleri oluşturulmasına olanak tanır:
eventType
,'birthday'
olarak ayarlanır.start
veend
alanları, tam olarak bir gün süren bir tüm gün etkinliğini tanımlamalıdır.visibility
alan değeri'private'
olmalıdır.transparency
alan değeri'transparent'
olmalıdır.- Yıllık olarak tekrar etmesi gerekir. Bu nedenle,
recurrence
alanı'RRULE:FREQ=YEARLY'
olmalıdır. 29 Şubat'a denk gelen doğum günü etkinlikleri için aşağıdaki tekrarlama kuralı geçerli olmalıdır:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
. colorId
,summary
vereminders
içerebilir.birthdayProperties
olabilir. Belirtilmişsetype
değeri'birthday'
olmalı ve hemcustomTypeName
hem decontact
boş olmalıdır.- Başka etkinlik özelliği olamaz.
API, update
ve patch
yöntemlerini kullanarak doğum günü etkinliklerinin colorId
, summary
ve reminders
değerlerinin güncellenmesine olanak tanır.
Etkinlik tarihini değiştirmek için start
ve end
alanları da güncellenebilir. Bu durumda, yeni değerler tam olarak bir gün süren ve tüm gün devam eden bir etkinlik tanımlamalıdır. Bir doğum günü etkinliği contact
'ye bağlıysa veya type
'ı 'self'
ise etkinliğin zamanlama ayrıntıları güncellenemez.
Google Calendar API, özel birthdayProperties
ile doğum günü etkinlikleri oluşturmaya veya bu özellikleri güncellemeye izin vermez. Önemli tarihler People API ile düzenlenebilir ve değişiklikler Google Takvim ile senkronize edilir. Benzer şekilde, kullanıcılar kendi doğum günlerini Google Hesabı profillerinde düzenleyebilir ve bu bilgi Google Takvim ile senkronize edilir.
Doğum tarihini desteklenmeyen bir şekilde oluşturmaya veya güncellemeye çalışan istekler başarısız olur. Bu durumda, sorunu belirlemek için hata mesajını inceleyin.
API, doğum günü etkinlikleri için import
işlemini destekler ancak etkinlik varsayılan etkinlik olarak içe aktarılır. Başka bir deyişle, eventType
'default'
olur.
API, Google Takvim'deki doğum günü etkinliklerinde yapılan değişikliklere abone olmak için watch
yöntemini destekler.
Doğum günü etkinlikleriyle ilgili güncellemelere abone olmak için eventTypes
seçeneğini 'birthday'
olarak ayarlayabilirsiniz. Tür belirtilmezse doğum günleri de dahil olmak üzere tüm etkinlik türlerine abone olunur.
Doğum günü etkinlikleri, Google Calendar API'nin delete
yöntemi kullanılarak silinebilir. Google Takvim'den silinen doğum günü etkinlikleri, Google Kişiler veya Google Hesabı profilindeki verileri etkilemez.
move
veya update
yöntemlerini kullanarak doğum günü etkinliğinin düzenleyicisini değiştirmek desteklenmez.
Gmail'den Etkinlikler
Gmail'den otomatik olarak oluşturulan etkinlikler 'fromGmail'
etkinlik türüne sahiptir.
Google Calendar API, insert
yöntemi kullanılarak bu etkinlik türünün oluşturulmasına izin vermez.
API, update
ve patch
yöntemleri kullanılarak colorId
, reminders
, visibility
, transparency
, status
, attendees
, private
ve shared
genişletilmiş özelliklerinin güncellenmesine olanak tanır.
API, Gmail'den etkinlik okumak için get
ve list
yöntemlerini destekler. eventTypes
, yalnızca Gmail'den oluşturulan etkinlikleri listelemek için 'fromGmail'
olarak ayarlanabilir. Tür belirtilmezse Gmail'den alınan etkinlikler diğer tüm etkinlik türleriyle birlikte listelenir.
API, Google Takvim'de Gmail'den gelen etkinliklerdeki değişikliklere abone olmak için watch
yöntemini destekler. Tür belirtilmezse 'fromGmail'
dahil tüm etkinlik türlerine abone olunur.
Gmail'den alınan etkinlikler, Google Calendar API'nin delete
yöntemi kullanılarak silinebilir.
Gmail'den move
veya update
yöntemlerini kullanarak bir etkinliğin düzenleyicisini değiştirmek desteklenmez.
Odaklanma zamanı, ofis dışında durumu ve çalışma yeri
Google Calendar API, Google Takvim kullanıcılarının durumunu gösteren etkinlikler oluşturmak ve yönetmek için kullanılabilir.
Bu özellikler yalnızca birincil takvimlerde ve bazı Google Takvim kullanıcıları tarafından kullanılabilir. Daha fazla bilgi edinmek için Odaklanma zamanı, ofis dışında ve çalışma konumu etkinliklerini yönetme başlıklı makaleyi inceleyin.
Google Apps Komut Dosyası'ndaki etkinlik türlerini keşfetme
Google Apps Komut Dosyası, Google Workspace ile entegre olan iş uygulamaları oluşturmanıza olanak tanıyan JavaScript tabanlı bir bulut komut dosyası dilidir. Komut dosyaları tarayıcı tabanlı bir kod düzenleyicide geliştirilir ve Google'ın sunucularında depolanıp çalıştırılır. Google Calendar API'ye istek göndermek için Apps Komut Dosyası'nı kullanmaya başlamak üzere Google Apps Komut Dosyası hızlı başlangıç kılavuzu'na da bakın.
Aşağıdaki talimatlarda, Google Apps Komut Dosyası'nda gelişmiş bir hizmet olarak Google Calendar API kullanılarak etkinliklerin nasıl okunacağı ve yönetileceği açıklanmaktadır. Google Calendar API kaynaklarının ve yöntemlerinin tam listesi için referans belgelerine bakın.
Komut dosyasını oluşturma ve ayarlama
- script.google.com/create adresine giderek bir komut dosyası oluşturun.
- Sol bölmede Hizmetler'in yanındaki Hizmet ekle'yi tıklayın .
- Google Calendar API'yi seçin ve Ekle'yi tıklayın.
- Etkinleştirildikten sonra API, sol bölmede görünür. API'deki kullanılabilir yöntemler ve sınıflar, düzenleyicide Calendar anahtar kelimesi kullanılarak listelenebilir.
(İsteğe bağlı) Google Cloud projesini güncelleyin
Her Google Apps Komut Dosyası projesinin ilişkili bir Google Cloud projesi vardır. Komut dosyanız, Google Apps Komut Dosyası'nın otomatik olarak oluşturduğu varsayılan projeyi kullanabilir. Özel bir Google Cloud projesi kullanmak istiyorsanız Farklı bir standart Cloud projesine geçme başlıklı makaleyi inceleyin. Google Cloud projesini ayarladıktan sonra sol tarafta Düzenleyici'yi seçerek kod düzenleyiciye geri dönün.
Komut dosyasına kod ekleme
Aşağıdaki kod örneğinde, farklı eventType
değerlere sahip etkinliklerin nasıl listeleneceği, okunacağı ve oluşturulacağı gösterilmektedir.
Aşağıdaki kodu kod düzenleyiciye yapıştırın.
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }
Aşağıdakini değiştirin:
CALENDAR_ID
: Etkinliklerin alınacağı ve oluşturulacağı takvimin e-posta adresi. Bu sabit başlangıçta'primary'
olarak ayarlanır. Bu, oturum açmış kullanıcının birincil takvimine erişmek için kullanılan bir anahtar kelimedir. Bu değeri değiştirdiğinizde, erişiminiz olan diğer kullanıcıların takvimlerindeki etkinlikleri okuyabilirsiniz.EVENT_ID
: Etkinliğin kimliği. Etkinlik kimliklerini almak için Events:list işlevini çağırabilirsiniz.
Kod örneğini çalıştırma
- Kod düzenleyicinin üst kısmındaki açılır menüden çalıştırılacak işlevi seçin ve Çalıştır'ı tıklayın.
- İlk çalıştırmada erişimi yetkilendirmeniz istenir. Apps Komut Dosyası'nın takviminize erişmesine izin verin.
- Komut dosyası yürütme sonuçlarını pencerenin alt kısmında görünen Yürütme Günlüğü'nde inceleyebilirsiniz.