Events: import

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

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

Hemen deneyin veya bir örneğe 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 kullanın. Şu anda giriş yapmış olan 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ı. Sürüm 0, konferans veri desteğinin olmadığını varsayar ve etkinliğin gövdesindeki konferans verilerini yoksayar. Sürüm 1, ConferenceData'yı kopyalamayı ve ConferenceData'nın createRequest alanını kullanarak yeni konferanslar oluşturmayı destekler. Varsayılan değer 0'dır. Kabul edilebilir değerler 0 ile 1 arasındadır (bu değerler dahil).
supportsAttachments boolean İşlem gerçekleştiren API istemcisinin etkinlik eklerini destekleyip desteklemediği. İsteğe bağlı. Varsayılan, Yanlış'tır.

Yetkilendirme

Bu istek için aşağıdaki kapsamlardan en az biriyle yetkilendirme gerekiyor:

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

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 (hariç) bitiş zamanı. Düzenli bir etkinlik için bu, ilk örneğin bitiş zamanıdır.
iCalUID string RFC5545'te tanımlandığı şekliyle etkinlik benzersiz tanımlayıcısı. Bu kimlik, takvim sistemleri genelinde 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 özelliklerinin aynı olmadığını ve etkinlik oluştururken bunlardan yalnızca birinin sağlanması gerektiğini unutmayın. Anlamları arasındaki farklardan biri, yinelenen etkinliklerde bir etkinliğin geçtiği her yerde farklı id olmasına rağmen tümünün aynı iCalUID değerini paylaşmasıdır. Bir etkinliği iCalUID parametresini kullanarak almak için iCalUID parametresini kullanarakevents.list yöntemini çağırın. Bir etkinliği id özelliğini kullanarak almak için events.get yöntemini çağırın.

start nested object Etkinliğin (dahil) başlangıç zamanı. Düzenli 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 (kullanımdan kaldırıldı). İsteğe bağlı. Varsayılan, Yanlış'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 özelliğindeki biçimi kullanın.

Ek iliştirirken 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 edinmek için Katılımcıları olan etkinlikler rehberine göz atı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ının 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 Varsa katılımcının e-posta adresi. 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, Yanlış'tır. yazılabilir
attendees[].resource boolean Katılımcının bir kaynak olup olmadığı. Yalnızca katılımcı etkinliğe ilk kez eklendiğinde ayarlanabilir. Daha sonraki değişiklikler yoksayılır. İsteğe bağlı. Varsayılan, Yanlış'tır. yazılabilir
attendees[].responseStatus string Katılımcının 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ı davetiyeyi geçici olarak kabul etti.
  • "accepted" - Katılımcı davetiyeyi kabul etti.
yazılabilir
attendeesOmitted boolean Katılımcıların etkinlik temsilinden çıkarılıp çıkarılmayacağı. Bir etkinlik alınırken bunun nedeni, maxAttendee sorgu parametresi tarafından belirtilen bir kısıtlama olabilir. Bir etkinliği güncellerken, bu seçenek yalnızca katılımcının yanıtını güncellemek için kullanılabilir. İsteğe bağlı. Varsayılan, Yanlış'tır. yazılabilir
colorId string Etkinliğin rengi. Bu kimlik, renk tanımının event bölümündeki bir girişi ifade eden bir kimliktir ( renk uç noktasına bakın). İsteğe bağlı. yazılabilir
conferenceData nested object Konferansla ilgili bilgiler (ör. bir Google Meet konferansının ayrıntıları) Yeni konferans ayrıntılarını oluşturmak için createRequest alanını kullanın. Değişikliklerinizi kaybetmemek için tüm etkinlik değişiklik isteklerinde 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 Bu tüm gün süren bir etkinlikse, "yyyy-aa-gg" biçiminde tarih. yazılabilir
end.dateTime datetime Birleşik bir tarih-saat değeri (RFC3339'a göre biçimlendirilmiş) olarak saat. timeZone ürününde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı gereklidir. yazılabilir
end.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Düzenli etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek etkinlikler için bu alan isteğe bağlıdır ve etkinlik başlangıcı/sonu için özel bir saat dilimini belirtir. yazılabilir
extendedProperties.private object Bu takvimde görünen etkinliğin kopyasına özel özellikler. yazılabilir
extendedProperties.shared object Etkinliğin diğer katılımcıların takvimlerindeki kopyaları arasında paylaşılan özellikler. yazılabilir
focusTimeProperties nested object Odaklanma Zamanı etkinlik verileri. eventType değeri focusTime ise kullanılır. yazılabilir
gadget.display string Gadget'ın görüntü modu. Kullanımdan kaldırıldı. Olası değerler:
  • "icon" - Gadget, takvim görünümünde etkinlik başlığının yanında görüntülenir.
  • "chip" - Etkinlik tıklandığında gadget görüntülenir.
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'e dokunun. yazılabilir
gadget.title string Gadget'ın başlığı. Kullanımdan kaldırıldı. yazılabilir
gadget.type string Gadget'ı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 Etkinliği düzenleyen kullanıcı dışındaki katılımcıların etkinliğe başkalarını davet edip edemeyeceği. İsteğe bağlı. Varsayılan, Doğru değeridir. yazılabilir
guestsCanModify boolean Düzenleyen kişi dışındaki katılımcıların etkinliği değiştirip değiştiremeyeceğini belirler. İsteğe bağlı. Varsayılan, Yanlış'tır. yazılabilir
guestsCanSeeOtherGuests boolean Etkinliği düzenleyen kişi dışındaki katılımcıların, etkinlik katılımcılarının kimler olduğunu görüp göremeyeceği. İsteğe bağlı. Varsayılan, Doğru değeridir. yazılabilir
location string Serbest biçimli metin olarak etkinliğin coğrafi konumu. İsteğe bağlı. yazılabilir
organizer object Etkinliği düzenleyen kullanıcı. Düzenleyen aynı zamanda bir katılımcıysa bu, attendees içinde organizer alanı True olarak ayarlanmış ayrı bir girişle belirtilir. Düzenleyeni değiştirmek için taşı işlemini kullanın. Salt okunur (bir etkinliğin içe aktarıldığı durumlar hariç). yazılabilir
organizer.displayName string Varsa düzenleyenin adı. yazılabilir
organizer.email string Varsa düzenleyen kişinin e-posta adresi. RFC5322 uyarınca geçerli bir e-posta adresi olmalıdır. yazılabilir
originalStartTime.date date Bu tüm gün süren bir etkinlikse, "yyyy-aa-gg" biçiminde tarih. yazılabilir
originalStartTime.dateTime datetime Birleşik bir tarih-saat değeri (RFC3339'a göre biçimlendirilmiş) olarak saat. timeZone ürününde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı gereklidir. yazılabilir
originalStartTime.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Düzenli etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek etkinlikler için bu alan isteğe bağlıdır ve etkinlik başlangıcı/sonu için özel bir saat dilimini belirtir. yazılabilir
outOfOfficeProperties nested object Ofis dışında etkinlik verileri. eventType değeri outOfOffice ise kullanılır. yazılabilir
recurrence[] list RFC5545'te belirtildiği şekilde, düzenli bir etkinliğe ait RRULE, EXRULE, RDATE ve EXDATE satırlarının listesi. Bu alanda DTSTART ve DTEND satırlarına izin verilmediğini unutmayın. Etkinlik başlangıç ve bitiş zamanları start ve end alanlarında belirtilir. Bu alan, tek etkinlikler veya yinelenen etkinlik örnekleri için atlanır. yazılabilir
reminders.overrides[] list Etkinlikte varsayılan hatırlatıcılar kullanılmıyorsa bu, etkinliğe özel hatırlatıcıları listeler. Ayarlanmamışsa bu etkinlik için hatırlatıcı ayarlanmadığını gösterir. Maksimum geçersiz kılma hatırlatıcısı sayısı 5'tir. yazılabilir
reminders.overrides[].method string Bu hatırlatıcının kullandığı yöntem. Olası değerler:
  • "email" - Hatırlatıcılar e-postayla gönderilir.
  • "popup" - Hatırlatıcılar, kullanıcı arayüzü pop-up'ı aracılığıyla gönderilir.

Hatırlatıcı eklerken gerekir.

yazılabilir
reminders.overrides[].minutes integer Hatırlatıcının, etkinliğin başlamasından kaç dakika önce tetikleneceği. Geçerli değerler 0 ile 40320 arasındadır (dakika cinsinden 4 hafta).

Hatırlatıcı eklerken gerekir.

yazılabilir
reminders.useDefault boolean Takvimdeki varsayılan hatırlatıcıların etkinliğe uygulanıp uygulanmayacağı. yazılabilir
sequence integer iTakvim'e göre sıra numarası. yazılabilir
source.title string Kaynağın başlığı. Örneğin, bir web sayfasının başlığı veya e-posta konusu. yazılabilir
source.url string Bir kaynağa işaret eden kaynağın URL'si. URL şeması HTTP veya HTTPS olmalıdır. yazılabilir
start.date date Bu tüm gün süren bir etkinlikse, "yyyy-aa-gg" biçiminde tarih. yazılabilir
start.dateTime datetime Birleşik bir tarih-saat değeri (RFC3339'a göre biçimlendirilmiş) olarak saat. timeZone ürününde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı gereklidir. yazılabilir
start.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Düzenli etkinlikler için bu alan zorunludur ve yinelemenin genişletildiği saat dilimini belirtir. Tek etkinlikler için bu alan isteğe bağlıdır ve etkinlik başlangıcı/sonu için özel bir saat dilimini belirtir. yazılabilir
status string Etkinliğin durumu. İsteğe bağlı. Olası değerler:
  • "confirmed": Etkinlik onaylandı. Bu, varsayılan durumdur.
  • "tentative": Etkinlik geçici olarak onaylandı.
  • "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şareti true olarak ayarlandığında döndürür. get yöntemi bunları her zaman döndürür.

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

    1. İptal edilmeyen bir düzenli etkinliğin iptal edilmiş istisnaları, bu örneğin artık kullanıcıya sunulmaması gerektiğini gösterir. Müşteriler, bu etkinlikleri üst düzenli etkinliğin ömrü boyunca depolamalıdır.

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

    2. İptal edilen diğer tüm etkinlikler, silinen etkinlikleri temsil eder. İstemciler, yerel olarak senkronize edilmiş kopyalarını kaldırmalıdır. Bu tür iptal edilen etkinlikler zamanla yok olacaktır. Bu nedenle, bu etkinliklerin süresiz olarak kullanılabilir olacağına güvenmeyin.

      Silinen etkinlikler için yalnızca id alanının doldurulması garanti edilir.

    İptal edilen etkinlikler, geri yüklenebilmesi (silme işlemi geri alınabilmesi) için etkinliği düzenleyenin takviminde etkinlik ayrıntılarını (özet, konum vb.) göstermeye devam eder. Benzer şekilde, kullanıcının davet edildiği ve manuel olarak kaldırıldığı etkinlikler de ayrıntıları sağlamaya devam eder. Ancak showDeleted politikasının yanlış değerine ayarlandığı artımlı senkronizasyon istekleri bu ayrıntıları döndürmez.

    Bir etkinliğin düzenleyicisi değişirse (örneğin, taşıma işlemiyle) ve etkinliği düzenleyen kişi katılımcı listesinde yoksa, geride yalnızca id alanının doldurulmasının garanti edildiği, iptal edilmiş bir etkinlik kalır.

yazılabilir
summary string Etkinliğin adı. yazılabilir
transparency string Etkinliğin takvimde zamanı engelleyip engellemediği. İsteğe bağlı. Olası değerler:
  • "opaque" - Varsayılan değer. Etkinlik, takvimde zamanı bloke eder. Bu, Takvim kullanıcı arayüzünde Durumumu şu şekilde göster'i Meşgul olarak ayarlamaya eşdeğerdir.
  • "transparent" - Etkinlik, takvimde zamanı engellemez. Bu, Takvim kullanıcı arayüzünde Durumumu şu şekilde göster'i Kullanılabilir 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ı takvimin tüm okuyucuları tarafından görülebilir.
  • "private": Etkinlik özeldir ve etkinlik ayrıntılarını yalnızca etkinlik katılımcıları görüntüleyebilir.
  • "confidential": Etkinlik özeldir. Bu değer, uyumluluk nedeniyle sağlanır.
yazılabilir

Yanıt

Başarılı olursa bu yöntem, yanıt gövdesinde bir Etkinlikler 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ı kullanmalıdı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.