Events: insert

Etkinlik oluşturur. Hemen deneyin veya örneke göz atın.

İstek

HTTP isteği

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events

Parametreler

Parametre adı Değer Açıklama
Yol parametreleri
calendarId string Takvim tanımlayıcısı. Takvim kimliklerini almak için calendarList.list yöntemini kullanın. Şu anda oturum açmış kullanıcının birincil takvimine erişmek istiyorsanız "primary" anahtar kelimesini kullanın.
İsteğe bağlı sorgu parametreleri
conferenceDataVersion integer API istemcisi tarafından desteklenen konferans verilerinin sürüm numarası. 0 sürümü, konferans verisi desteğinin olmadığını varsayar ve etkinliğin gövdesinde bulunan konferans verilerini yoksayar. 1. sürüm, ConferenceData'nın kopyalanmasına ve conferenceData'nın createRequest alanını kullanarak yeni konferanslar oluşturulmasına olanak tanır. Varsayılan değer 0'dır. Kabul edilen değerler 0 ile 1 arasıdır (bu değerler dahil).
maxAttendees integer Yanıta dahil edilecek maksimum katılımcı sayısı. Belirtilen sayıdan fazla katılımcı varsa yalnızca katılımcı döndürülür. İsteğe bağlı.
sendNotifications boolean Kullanımdan kaldırıldı. Lütfen bunun yerine sendUpdates'i kullanın.

Yeni etkinliğin oluşturulmasıyla ilgili bildirim gönderilip gönderilmeyeceğini belirler. Değeri false olarak ayarlasanız bile bazı e-postaların gönderilebileceğini unutmayın. Varsayılan değer: false.
sendUpdates string Yeni etkinliğin oluşturulmasıyla ilgili bildirim gönderilip gönderilmeyeceği. Bazı e-postalar gönderilmeye devam edebilir. Varsayılan değer: false.

Kabul edilen değerler şunlardır:
  • "all": Bildirimler tüm davetlilere gönderilir.
  • "externalOnly": Bildirimler yalnızca Google Takvim kullanmayan davetlilere gönderilir.
  • "none": Bildirim gönderilmez.
supportsAttachments boolean İşlemi gerçekleştiren API istemcisinin etkinlik ekleriyle ilgili desteği olup olmadığı. İsteğe bağlı. Varsayılan değer False'tır.

Yetkilendirme

Bu istek için aşağıdaki kapsamlardan en az biri ile yetkilendirme gerekir:

Kapsam
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Daha fazla bilgi edinmek için kimlik doğrulama ve yetkilendirme sayfasına göz atın.

İstek içeriği

İstek gövdesinde, aşağıdaki özelliklere sahip bir Etkinlikler kaynağı sağlayın:

Mülk adı Değer Açıklama Notlar
Zorunlu Özellikler
end nested object Etkinliğin bitiş zamanı (hariç). Düzenli bir etkinlik için bu, ilk etkinliğin bitiş zamanıdır.
start nested object Etkinliğin başlangıç zamanı (dahil). Yinelenen bir etkinlik için bu, ilk örneğin başlangıç zamanıdır.
İsteğe bağlı özellikler
anyoneCanAddSelf boolean Herkesin kendisini etkinliğe davet edip edemeyeceği (desteği sonlandırılmış). İsteğe bağlı. Varsayılan değer False'tır. yazılabilir
attachments[].fileUrl string Ekin URL bağlantısı.

Google Drive dosya ekleri eklemek için Drive API'deki Files kaynağının alternateLink mülkünde kullanılan biçimi kullanın.

Ek iliştirilirken gereklidir.

yazabilir
attendees[] list Etkinliğin katılımcıları. Diğer takvim kullanıcılarıyla etkinlik planlama hakkında daha fazla bilgi edinmek için Katılımcılı etkinlikler kılavuzuna göz atın. Katılımcı listesini doldurmak için hizmet hesaplarının alan genelinde yetki yetkisini kullanması gerekir. yazılabilir
attendees[].additionalGuests integer Ek konuk sayısı. İsteğe bağlı. Varsayılan değer 0'dır. yazılabilir
attendees[].comment string Katılımcının yanıt yorumu. İsteğe bağlı. yazabilir
attendees[].displayName string Varsa katılımcının adı. İsteğe bağlı. yazabilir
attendees[].email string Katılımcıya ait e-posta adresi (varsa). Katılımcı eklerken bu alan mevcut olmalıdır. RFC5322 uyarınca geçerli bir e-posta adresi olmalıdır.

Katılımcı eklerken gereklidir.

yazılabilir
attendees[].optional boolean Bunun isteğe bağlı bir katılımcı olup olmadığı bilgisi. İsteğe bağlı. Varsayılan değer False'tır. yazılabilir
attendees[].resource boolean Katılımcının kaynak olup olmadığı. Yalnızca katılımcı etkinliğe ilk kez eklendiğinde ayarlanabilir. Sonraki değişiklikler yoksayılır. İsteğe bağlı. Varsayılan değer False'tır. yazabilir
attendees[].responseStatus string Katılımcıya ait yanıt durumu. Olası değerler:
  • "needsAction": Katılımcı davetiyeye yanıt vermedi (yeni etkinlikler için önerilir).
  • "declined" - Katılımcı davetiyeyi reddetti.
  • "tentative": Katılımcı, daveti geçici olarak kabul etti.
  • "accepted": Katılımcı daveti kabul etti.
yazabilir
birthdayProperties nested object Doğum günü veya özel etkinlik verileri. eventType "birthday" ise kullanılır. Değişmez. yazılabilir
birthdayProperties.type string Doğum günü veya özel etkinlik türü. Olası değerler:
  • "anniversary": Doğum günü dışında bir yıl dönümü. Her zaman bir contact içerir.
  • "birthday" - Doğum günü etkinliği. Bu, varsayılan değerdir.
  • "custom": Etiketi customTypeName alanında daha ayrıntılı olarak belirtilen özel bir tarih. Her zaman bir contact içerir.
  • "other": Diğer kategorilere uymayan ve özel etiketi olmayan özel bir tarih. Her zaman bir contact içerir.
  • "self": Takvim sahibinin doğum günü. contact sahibi olamaz.
Calendar API yalnızca "birthday" türündeki etkinliklerin oluşturulmasını destekler. Tür, etkinlik oluşturulduktan sonra değiştirilemez.
yazabilir
colorId string Etkinliğin rengi. Bu, colors tanımının event bölümündeki bir girişi belirten bir kimliktir ( colors uç noktasına bakın). İsteğe bağlı. yazabilir
conferenceData nested object Google Meet konferansının ayrıntıları gibi konferansla ilgili bilgiler. Yeni konferans ayrıntıları oluşturmak için createRequest alanını kullanın. Değişikliklerinizin kalıcı olması için tüm etkinlik değiştirme isteklerinde conferenceDataVersion istek parametresini 1 olarak ayarlamayı unutmayın. yazabilir
description string Etkinliğin açıklaması. HTML içerebilir. İsteğe bağlı. yazabilir
end.date date Tüm gün süren bir etkinlikse "yyyy-aa-gg" biçiminde tarih. yazabilir
end.dateTime datetime Birleştirilmiş tarih ve saat değeri olarak zaman (RFC3339'a göre biçimlendirilir). timeZone parametresinde açıkça bir saat dilimi belirtilmediği sürece saat dilimi farkı gereklidir. yazabilir
end.timeZone string Zamanın belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek seferlik etkinlikler için isteğe bağlı olan bu alan, etkinliğin başlangıç/bitiş saati dilimiyle ilgili özel bir saat dilimi belirtir. yazabilir
eventType string Etkinliğin türü. Bu ayar, etkinlik oluşturulduktan sonra değiştirilemez. Olası değerler:
  • "birthday" - Her yıl tekrarlanan, tüm gün süren özel bir etkinlik.
  • "default": Normal bir etkinlik veya daha fazla belirtilmemiş.
  • "focusTime" - Odaklanma zamanı etkinliği.
  • "fromGmail": Gmail'deki bir etkinlik. Bu tür bir etkinlik oluşturulamaz.
  • "outOfOffice": Ofis dışında etkinliği.
  • "workingLocation": Çalışma yeri etkinliği.
yazabilir
extendedProperties.private object Etkinliğin bu takvimde görünen kopyasına özel özellikler. yazılabilir
extendedProperties.shared object Diğer katılımcıların takvimlerindeki etkinlik kopyaları arasında paylaşılan özellikler. yazabilir
focusTimeProperties nested object Odaklanma zamanı etkinliği verileri. eventType focusTime ise kullanılır. yazabilir
gadget.display string Aygıtın görüntü modu. Kullanımdan kaldırıldı. Olası değerler:
  • "icon": Gadget, takvim görünümünde etkinliğin başlığının yanında gösterilir.
  • "chip" - Etkinlik tıklandığında widget görüntülenir.
yazabilir
gadget.height integer Gadget'ın piksel cinsinden yüksekliği. Yükseklik 0'dan büyük bir tam sayı olmalıdır. İsteğe bağlı. Kullanımdan kaldırıldı. yazabilir
gadget.preferences object Tercihler'i tıklayın. yazabilir
gadget.title string Gadget'ın başlığı. Kullanımdan kaldırıldı. yazabilir
gadget.type string Cihazın türü. Kullanımdan kaldırıldı. yazabilir
gadget.width integer Aygıtın piksel cinsinden genişliği. Genişlik, 0'dan büyük bir tam sayı olmalıdır. İsteğe bağlı. Kullanımdan kaldırıldı. yazılabilir
guestsCanInviteOthers boolean Düzenleyen dışındaki katılımcıların etkinliğe başkalarını davet edip edemeyeceği İsteğe bağlı. Varsayılan değer True'dur. yazabilir
guestsCanModify boolean Düzenleyen dışındaki katılımcıların etkinliği değiştirip değiştiremeyeceği. İsteğe bağlı. Varsayılan değer False'tır. yazabilir
guestsCanSeeOtherGuests boolean Düzenleyen dışındaki katılımcıların, etkinliğin katılımcılarını görüp göremeyeceği. İsteğe bağlı. Varsayılan değer, Doğru'dur. yazabilir
id string Etkinliğin opak tanımlayıcısı. Yeni tek seferlik veya yinelenen etkinlikler oluştururken etkinliklerin kimliklerini belirtebilirsiniz. Sağlanan kimlikler aşağıdaki kurallara uymalıdır:
  • Kimlikte izin verilen karakterler, base32hex kodlamada kullanılan karakterlerdir (ör. küçük harfler a-v ve rakamlar 0-9). RFC2938'deki bölüm 3.1.2'ye bakın.
  • Kimliğin uzunluğu 5 ile 1024 karakter arasında olmalıdır.
  • Kimlik, her takvim için benzersiz olmalıdır.
Sistemin dünya genelinde dağıtılmış yapısı nedeniyle, kimlik çakışmalarının etkinlik oluşturma sırasında tespit edileceğini garanti edemeyiz. Çakışma riskini en aza indirmek için RFC4122'de açıklanan gibi yerleşik bir UUID algoritması kullanmanızı öneririz.

Kimlik belirtmezseniz kimlik sunucu tarafından otomatik olarak oluşturulur.

icalUID ve id değerlerinin aynı olmadığını ve etkinlik oluşturma sırasında bunlardan yalnızca birinin sağlanması gerektiğini unutmayın. Anlamsal açıdan tek fark, yinelenen etkinliklerde bir etkinliğin tüm tekrarlarının farklı id'lere sahip olmasıdır ancak bu etkinliklerin hepsi aynı icalUID öğelerini paylaşır.

yazabilir
location string Etkinliğin coğrafi konumu (serbest biçimli metin). İsteğe bağlı. yazabilir
originalStartTime.date date Tüm gün süren bir etkinlikse "yyyy-aa-gg" biçiminde tarih. yazabilir
originalStartTime.dateTime datetime Birleştirilmiş tarih-saat değeri olarak saat (RFC3339'a göre biçimlendirilmiştir). timeZone parametresinde açıkça bir saat dilimi belirtilmediği sürece saat dilimi farkı gereklidir. yazabilir
originalStartTime.timeZone string Zamanın belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek seferlik etkinlikler için isteğe bağlı olan bu alan, etkinliğin başlangıç/bitiş saati dilimiyle ilgili özel bir saat dilimi belirtir. yazabilir
outOfOfficeProperties nested object Ofis dışında etkinlik verileri. eventType değeri outOfOffice ise kullanılır. yazabilir
recurrence[] list RFC5545'te belirtildiği gibi, yinelenen bir etkinlik için RRULE, EXRULE, RDATE ve EXDATE satırlarının listesi. Bu alanda DTSTART ve DTEND satırlarına izin verilmediğini unutmayın. Etkinliğin başlangıç ve bitiş zamanları start ve end alanlarında belirtilir. Bu alan, tek seferlik etkinlikler veya yinelenen etkinliklerin örnekleri için atlanır. yazabilir
reminders.overrides[] list Etkinlikte varsayılan hatırlatıcılar kullanılmıyorsa bu alan, etkinliğe özgü hatırlatıcıları listeler veya ayarlanmamışsa bu etkinlik için hatırlatıcı ayarlanmadığını gösterir. Geçersiz kılma hatırlatıcıları maksimum 5 tanedir. yazabilir
reminders.overrides[].method string Bu hatırlatıcının kullandığı yöntem. Olası değerler:
  • "email": Hatırlatmalar e-postayla gönderilir.
  • "popup": Hatırlatıcılar, kullanıcı arayüzü pop-up'ı aracılığıyla gönderilir.

Hatırlatıcı eklerken zorunludur.

yazılabilir
reminders.overrides[].minutes integer Etkinlik başlamadan önce hatırlatıcının tetiklenmesi gereken dakika sayısı. Geçerli değerler 0 ile 40.320 (dakikada 4 hafta) arasındadır.

Hatırlatıcı eklerken gereklidir.

yazabilir
reminders.useDefault boolean Takvimdeki varsayılan hatırlatıcıların etkinliğe uygulanıp uygulanmayacağı. yazabilir
sequence integer iCalendar'a göre sıra numarası. yazabilir
source.title string Kaynağın başlığı (ör. bir web sayfasının başlığı veya e-posta konusu). yazabilir
source.url string Bir kaynağı işaret eden kaynağın URL'si. URL şeması HTTP veya HTTPS olmalıdır. yazılabilir
start.date date Tüm gün süren bir etkinlikse "yyyy-aa-gg" biçiminde tarih. yazılabilir
start.dateTime datetime Birleştirilmiş tarih ve saat değeri olarak zaman (RFC3339'a göre biçimlendirilir). timeZone içinde bir saat dilimi açıkça belirtilmediği sürece saat dilimi farkı gereklidir. yazabilir
start.timeZone string Zamanın belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek seferlik etkinlikler için isteğe bağlı olan bu alan, etkinliğin başlangıç/bitiş saati dilimiyle ilgili özel bir saat dilimi belirtir. yazabilir
status string Etkinliğin durumu. İsteğe bağlı. Olası değerler:
  • "confirmed" - Etkinlik onaylandı. Bu, varsayılan durumdur.
  • "tentative": Etkinlik geçici olarak onaylanmıştır.
  • "cancelled": Etkinlik iptal edildi (silindi). list yöntemi, iptal edilen etkinlikleri yalnızca artımlı senkronizasyonda (syncToken veya updatedMin belirtildiğinde) ya da showDeleted işaretçisi true olarak ayarlandığında döndürür. get yöntemi her zaman bu değerleri döndürür.

    İptal edilmiş durum, etkinlik türüne bağlı olarak iki farklı durumu temsil eder:

    1. İptal edilmemiş bir yinelenen etkinliğin iptal edilmiş istisnaları, bu örneğin artık kullanıcıya sunulmaması gerektiğini gösterir. İstemciler bu etkinlikleri, üst düzenli etkinliğin süresi boyunca saklamalıdır.

      İptal edilen istisnalarda yalnızca id, recurringEventId ve originalStartTime alanlarının doldurulduğu garanti edilir. Diğer alanlar boş olabilir.

    2. İptal edilen diğer tüm etkinlikler, silinen etkinlikleri temsil eder. Müşteriler yerel olarak senkronize edilmiş kopyalarını kaldırmalıdır. İptal edilen etkinlikler zaman içinde kaldırılır. Bu nedenle, bu etkinliklere süresiz olarak erişebileceğinizi düşünmeyin.

      Silinen etkinliklerde yalnızca id alanının doldurulacağı garanti edilir.

    İptal edilen etkinlikler, düzenleyenin takviminde etkinlik ayrıntılarını (özet, konum vb.) göstermeye devam eder. Böylece, etkinlikler geri yüklenerek (silinmemiş olarak) yeniden etkinleştirilebilir. Benzer şekilde, kullanıcının davet edildiği ve manuel olarak kaldırdığı etkinlikler de ayrıntıları sağlamaya devam eder. Ancak showDeleted yanlış olarak ayarlanmış artımlı senkronizasyon istekleri bu ayrıntıları döndürmez.

    Bir etkinliğin düzenleyeni değişirse (ör. taşıma işlemiyle) ve orijinal düzenleyen katılımcı listesinde yoksa yalnızca id alanının doldurulacağı garanti edilen iptal edilmiş bir etkinlik bırakılır.

yazabilir
summary string Etkinliğin adı. yazılabilir
transparency string Etkinliğin takvimde zaman ayırıp ayırmadığını belirtir. İsteğe bağlı. Olası değerler:
  • "opaque": Varsayılan değer. Etkinlik, takvimde zamanı engeller. Bu, Takvim kullanıcı arayüzündeki Beni şu şekilde göster'i Meşgul olarak ayarlamakla eşdeğerdir.
  • "transparent": Etkinlik, takvimde zamanı engellemez. Bu, Takvim kullanıcı arayüzündeki Beni şu şekilde göster'i Müsait olarak ayarlamakla eşdeğerdir.
yazabilir
visibility string Etkinliğin görünürlüğü. İsteğe bağlı. Olası değerler:
  • "default" - Takvimdeki etkinlikler için varsayılan görünürlüğü kullanır. Bu, varsayılan değerdir.
  • "public": Etkinlik herkese açıktır ve etkinlik ayrıntıları takvimi okuyan herkes tarafından görülebilir.
  • "private": Etkinlik gizlidir ve yalnızca etkinlik katılımcıları etkinlik ayrıntılarını görüntüleyebilir.
  • "confidential": Etkinlik gizlidir. Bu değer uyumluluk nedeniyle sağlanmıştır.
yazabilir
workingLocationProperties nested object Çalışma yeri etkinlik verileri. yazabilir
workingLocationProperties.customLocation object Varsa kullanıcının özel bir konumdan çalıştığını belirtir. yazabilir
workingLocationProperties.customLocation.label string Ek bilgi için isteğe bağlı ek etiket. yazabilir
workingLocationProperties.homeOffice any value Varsa kullanıcının evde çalıştığını belirtir. yazılabilir
workingLocationProperties.officeLocation object Mevcut olduğunda, kullanıcının ofisten çalıştığını belirtir. yazabilir
workingLocationProperties.officeLocation.buildingId string İsteğe bağlı bir bina tanımlayıcısı. Bu, kuruluşun Kaynaklar veritabanında bir bina kimliğine referans vermelidir. yazabilir
workingLocationProperties.officeLocation.deskId string İsteğe bağlı bir masa tanımlayıcısı. yazabilir
workingLocationProperties.officeLocation.floorId string İsteğe bağlı bir kat tanımlayıcısı. yazabilir
workingLocationProperties.officeLocation.floorSectionId string İsteğe bağlı bir kat bölümü tanımlayıcısı. yazabilir
workingLocationProperties.officeLocation.label string Takvim web ve mobil istemcilerinde gösterilen ofis adı. Kuruluşun Kaynaklar veritabanında bir bina adına referans vermenizi öneririz. yazabilir
workingLocationProperties.type string Çalışma yerinin türü. Olası değerler:
  • "homeOffice" - Kullanıcı evde çalışıyor.
  • "officeLocation": Kullanıcı ofiste çalışıyor.
  • "customLocation": Kullanıcı özel bir konumdan çalışıyor.
Tüm ayrıntılar, belirtilen adın bir alt alanında belirtilir ancak boşsa bu alan eksik olabilir. Diğer alanlar yoksayılır.

Çalışma yeri özellikleri eklenirken gereklidir.

yazılabilir

Yanıt

Başarılı olursa bu yöntem, yanıt gövdesinde bir Events kaynağı döndürür.

Örnekler

Not: Bu yöntem için kullanıma sunulan kod örnekleri, desteklenen tüm programlama dillerini kapsamaz (Desteklenen dillerin listesi için istemci kitaplıkları sayfasını inceleyin).

Java

Java istemci kitaplığını kullanır.

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

Python istemci kitaplığını kullanır.

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

PHP istemci kitaplığını kullanır.

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

Ruby istemci kitaplığını kullanır.

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

.NET

.NET istemci kitaplığını kullanır.

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

Go

Go istemci kitaplığını kullanır.

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

JavaScript istemci kitaplığını kullanır.

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

Node.js istemci kitaplığını kullanır.

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

Deneyin!

Canlı verilerde bu yöntemi çağırmak ve yanıtı görmek için aşağıdaki API Gezgini'ni kullanın.