Events: import

Bir etkinliği içe aktarır. Bu işlem, mevcut bir etkinliğin özel kopyasını bir takvime eklemek için kullanılır. Yalnızca eventType değeri default olan etkinlikler içe aktarılabilir.

Desteği sonlandırılan davranış: default olmayan bir etkinlik içe aktarılırsa türü default olarak değiştirilir ve etkinlik türüne özgü tüm özellikler kaldırılır.

Hemen deneyin veya örneke göz atın.

İstek

HTTP isteği

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

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).
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.
iCalUID string RFC5545'te tanımlandığı şekilde etkinlik benzersiz tanımlayıcısı. Takvim sistemlerindeki etkinlikleri benzersiz şekilde tanımlamak için kullanılır ve etkinlikler import yöntemiyle içe aktarılırken sağlanmalıdır.

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. Bir etkinliği iCalUID parametresini kullanarak almak için iCalUID parametresini kullanarak events.list yöntemini çağırın. Bir etkinliği id değerini kullanarak almak için events.get yöntemini çağırın.

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
attendeesOmitted boolean Katılımcıların etkinliğin temsilinden çıkarılmış olup olmadığı. Bir etkinlik alınırken bu durum, maxAttendee sorgu parametresi tarafından belirtilen bir kısıtlamadan kaynaklanabilir. Bir etkinliği güncellerken bu parametre, yalnızca katılımcının yanıtını güncellemek için kullanılabilir. İsteğe bağlı. Varsayılan değer False'tır. 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
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
location string Etkinliğin coğrafi konumu, serbest biçimli metin olarak. İsteğe bağlı. yazılabilir
organizer object Etkinliği düzenleyen kullanıcı. Düzenleyici aynı zamanda katılımcıysa bu durum, attendees alanında organizer alanının True olarak ayarlandığı ayrı bir girişle gösterilir. Düzenleyeni değiştirmek için taşıma işlemini kullanın. Etkinlik içe aktarılırken hariç olmak üzere salt okunur. yazılabilir
organizer.displayName string Varsa düzenleyen kişinin adı. yazılabilir
organizer.email string Düzenleyen kullanıcının e-posta adresi (varsa). RFC5322 uyarınca geçerli bir e-posta adresi olmalıdır. 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

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.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.EventAttendee;
import com.google.api.services.calendar.model.EventDateTime;
import com.google.api.client.util.DateTime;

import java.util.Date;
// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Create and initialize a new event (could also retrieve an existing event)
Event event = new Event();
event.setICalUID("originalUID");

Event.Organizer organizer = new Event.Organizer();
organizer.setEmail("organizerEmail");
organizer.setDisplayName("organizerDisplayName");
event.setOrganizer(organizer);

ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>();
attendees.add(new EventAttendee().setEmail("attendeeEmail"));
// ...
event.setAttendees(attendees);

Date startDate = new Date();
Date endDate = new Date(startDate.getTime() + 3600000);
DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC"));
event.setStart(new EventDateTime().setDateTime(start));
DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC"));
event.setEnd(new EventDateTime().setDateTime(end));

// Import the event into a calendar
Event importedEvent = service.events().calendarImport('primary', event).execute();

System.out.println(importedEvent.getId());

Python

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

event = {
  'summary': 'Appointment',
  'location': 'Somewhere',
  'organizer': {
    'email': 'organizerEmail',
    'displayName': 'organizerDisplayName'
  },
  'start': {
    'dateTime': '2011-06-03T10:00:00.000-07:00'
  },
  'end': {
    'dateTime': '2011-06-03T10:25:00.000-07:00'
  },
  'attendees': [
    {
      'email': 'attendeeEmail',
      'displayName': 'attendeeDisplayName',
    },
    # ...
  ],
  'iCalUID': 'originalUID'
}

imported_event = service.events().import_(calendarId='primary', body=event).execute()

print imported_event['id']

PHP

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

$event = new Google_Service_Calendar_Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2011-06-03T10:00:00.000-07:00');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2011-06-03T10:25:00.000-07:00');
$event->setEnd($end);
$attendee1 = new Google_Service_Calendar_EventAttendee();
$attendee1->setEmail('attendeeEmail');
// ...
$attendees = array($attendee1,
                   // ...,
                  );
$event->attendees = $attendees;
$organizer = new Google_Service_Calendar_EventOrganizer();
$organizer->setEmail('organizerEmail');
$organizer->setDisplayName('organizerDisplayName');
$event->setOrganizer($organizer);
$event->setICalUID('originalUID');
$importedEvent = $service->events->import('primary', $event);

echo $importedEvent->getId();

Ruby

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

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Appointment',
  location: 'Somewhere',
  organizer: {
    email: 'organizerEmail',
    display_name: 'organizerDisplayName'
  },
  start: {
    date_time: '2011-06-03T10:00:00.000-07:00'
  },
  end: {
    date_time: '2011-06-03T10:25:00.000-07:00'
  },
  attendees: [
    {
      email: 'attendeeEmail',
      display_name: 'attendeeDisplayName',
    },
    # ...
  ],
  i_cal_uid: 'originalUID'
)
result = client.import_event('primary', event)
print result.id

Deneyin!

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