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 çağırı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 öğesinin kopyalanmasına ve conferenceData öğesinin 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ı. Bunun yerine lütfen sendUpdates işlevini kullanın.

Yeni etkinliğin oluşturulmasıyla ilgili bildirim gönderilip gönderilmeyeceği. Değeri false olarak ayarlasanız bile bazı e-postaların yine de gönderilebileceğini unutmayın. Varsayılan değer false'tir.
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
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.owned

Daha fazla bilgi için kimlik doğrulama ve yetkilendirme sayfasına bakı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ı (dahil değildir). Düzenli bir etkinlik için bu, ilk örneğ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 Kullanıcıların etkinliğe kendilerini davet edip edemeyeceği (desteği sonlandırıldı). İ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 eklenirken gereklidir.

yazılabilir
attendees[] list Etkinliğin katılımcıları. Diğer takvim kullanıcılarıyla etkinlik planlama hakkında daha fazla bilgi için Katılımcı içeren etkinlikler kılavuzuna bakın. Hizmet hesaplarının katılımcı listesini doldurmak için alan genelinde yetki verme özelliğini 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ıya ait yanıt yorumu. İsteğe bağlı. yazılabilir
attendees[].displayName string Varsa katılımcının adı. İsteğe bağlı. yazılabilir
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 Bu katılımcının isteğe bağlı olup olmadığı. İ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. yazılabilir
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 reddetmiştir.
  • "tentative": Katılımcı, daveti geçici olarak kabul etti.
  • "accepted": Katılımcı daveti kabul etti.
yazılabilir
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.
yazılabilir
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ı. yazılabilir
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 istekleri için conferenceDataVersion istek parametresini 1 olarak ayarlamayı unutmayın. yazılabilir
description string Etkinliğin açıklaması. HTML içerebilir. İsteğe bağlı. yazılabilir
end.date date Tüm gün süren bir etkinlikse "yyyy-aa-gg" biçiminde tarih. yazılabilir
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. yazılabilir
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 gereklidir 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. yazılabilir
eventType string Etkinliğin türü. Bu ayar, etkinlik oluşturulduktan sonra değiştirilemez. Olası değerler:
  • "birthday": Yıllık olarak 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.
yazılabilir
extendedProperties.private object Bu takvimde görünen etkinliğin kopyasına özel özellikler. yazılabilir
extendedProperties.shared object Diğer katılımcıların takvimlerindeki etkinlik kopyaları arasında paylaşılan özellikler. yazılabilir
focusTimeProperties nested object Odaklanma zamanı etkinliği verileri. eventType focusTime ise kullanılır. yazılabilir
gadget.display string Cihazın görüntüleme 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": Gadget, etkinlik tıklandığında gösterilir.
yazılabilir
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ı. yazılabilir
gadget.preferences object Tercihler'i tıklayın. yazılabilir
gadget.title string Gadget'ın başlığı. Kullanımdan kaldırıldı. yazılabilir
gadget.type string Cihazın türü. Kullanımdan kaldırıldı. yazılabilir
gadget.width integer Gadget'ı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. yazılabilir
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. yazılabilir
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 True'dur. yazılabilir
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 kodlamasında kullanılan karakterlerdir (ör. a-v arasındaki küçük harfler ve 0-9 arasındaki rakamlar). RFC2938'deki 3.1.2 bölümüne 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'nin aynı olmadığını ve etkinlik oluşturma sırasında bunlardan yalnızca birinin sağlanacağını unutmayın. Bu iki öğenin anlamındaki bir fark, yinelenen etkinliklerde bir etkinliğin tüm örneklerinin farklı id değerlerine sahip olması, ancak aynı icalUID değerlerini paylaşmasıdır.

yazılabilir
location string Etkinliğin coğrafi konumu, serbest biçimli metin olarak. İsteğe bağlı. yazılabilir
originalStartTime.date date Tüm gün süren bir etkinlikse "yyyy-aa-gg" biçiminde tarih. yazılabilir
originalStartTime.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. yazılabilir
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 gereklidir 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. yazılabilir
outOfOfficeProperties nested object Ofis dışında etkinlik verileri. eventType outOfOffice ise kullanılır. yazılabilir
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. yazılabilir
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ısı sayısı en fazla 5 olabilir. yazılabilir
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 gereklidir.

yazılabilir
reminders.overrides[].minutes integer Hatırlatıcının etkinlikten kaç dakika önce tetiklenmesi gerektiğini belirtir. Geçerli değerler 0 ile 40.320 (dakikada 4 hafta) arasındadır.

Hatırlatıcı eklerken gereklidir.

yazılabilir
reminders.useDefault boolean Takvimdeki varsayılan hatırlatıcıların etkinlik için geçerli olup olmadığı. yazılabilir
sequence integer iCalendar'a göre sıra numarası. yazılabilir
source.title string Kaynağın başlığı (ör. bir web sayfasının başlığı veya e-posta konusu). yazılabilir
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 parametresinde açıkça bir saat dilimi belirtilmediği sürece saat dilimi farkı gereklidir. yazılabilir
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 gereklidir 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. yazılabilir
status string Etkinliğin durumu. İsteğe bağlı. Olası değerler:
  • "confirmed": Etkinlik onaylanmıştır. 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ş yinelenen bir etkinliğin iptal edilen istisnaları, bu örneğin artık kullanıcıya gösterilmemesi 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ığı etkinliklerin ayrıntıları da gösterilmeye devam eder. Ancak showDeleted false olarak ayarlanmış artımlı senkronizasyon istekleri bu ayrıntıları döndürmez.

    Bir etkinliğin düzenleyeni değişirse (örneğin, 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.

yazılabilir
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ünde Bana gösterilen durum'u Meşgul olarak ayarlamaya eşdeğerdir.
  • "transparent": Etkinlik, takvimde zamanı engellemez. Bu, Takvim kullanıcı arayüzünde Beni şu şekilde göster'i Müsait olarak ayarlamaya eşdeğerdir.
yazılabilir
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.
yazılabilir
workingLocationProperties nested object Çalışma yeri etkinlik verileri. yazılabilir
workingLocationProperties.customLocation object Varsa kullanıcının özel bir konumdan çalıştığını belirtir. yazılabilir
workingLocationProperties.customLocation.label string Ek bilgi için isteğe bağlı ek etiket. yazılabilir
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. yazılabilir
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. yazılabilir
workingLocationProperties.officeLocation.deskId string İsteğe bağlı bir müşteri temsilcisi tanımlayıcısı. yazılabilir
workingLocationProperties.officeLocation.floorId string İsteğe bağlı kat tanımlayıcısı. yazılabilir
workingLocationProperties.officeLocation.floorSectionId string İsteğe bağlı kat bölümü tanımlayıcısı. yazılabilir
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. yazılabilir
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 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.