Events: import

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

Kullanımdan kaldırılmış 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 atlanır.

Şimdi 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" bağlantısını kullanın. anahtar kelime.
İ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ği olmadığını varsayar ve etkinliğin gövdesindeki konferans verilerini yoksayar. Sürüm 1, KonferansVerileri'nin kopyalanması ve konferansData'nın createRequest alanını kullanarak yeni konferansların oluşturulması için destek sağlar. Varsayılan değer 0'dır. Kabul edilebilir değerler: 0 - 1 (bu değerler dahil).
supportsAttachments boolean İşlem gerçekleştiren API istemcisinin etkinlik eklerini destekleyip desteklemediği. İsteğe bağlı. Varsayılan değer, Yanlış'tır.

Yetkilendirme

Bu istek, aşağıdaki kapsamların en az biriyle yetkilendirme gerektiriyor:

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 Etkinlik kaynağı sağlayın:

Mülk adı Değer Açıklama Notlar
Zorunlu Özellikler
end nested object Etkinliğin (özel) bitiş zamanı. Düzenli bir etkinlik için bu, ilk etkinliğin bitiş zamanıdır.
iCalUID string RFC5545'te tanımlandığı şekliyle benzersiz etkinlik tanımlayıcısı. Takvim sistemlerinde etkinlikleri benzersiz şekilde tanımlamak için kullanılır ve etkinlikler içe aktarma yöntemiyle içe aktarılırken sağlanmalıdır.

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

start nested object Etkinliğin (dahil) başlangıç saati. 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 (desteği sonlandırılmış). İsteğe bağlı. Varsayılan değer, 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ğinde belirtilen biçimi kullanın.

Ek iliştirilirken 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ı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ıyla ilgili yorum. İ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ı eklenirken bu alan bulunmalıdır. Bu, RFC5322'ye göre geçerli bir e-posta adresi olmalıdır.

Katılımcı eklerken gerekir.

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, Yanlış'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. Daha sonra yapılacak değişiklikler yoksayılır. İsteğe bağlı. Varsayılan değer, 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 vermemiştir (yeni etkinlikler için önerilir).
  • "declined" - Katılımcı davetiyeyi reddetmiştir.
  • "tentative" - Katılımcı davetiyeyi belirsiz şekilde kabul etmiştir.
  • "accepted" - Katılımcı davetiyeyi kabul etmiştir.
yazılabilir
attendeesOmitted boolean Katılımcıların etkinliğin temsilinden çıkarılıp çıkarılmadığı. Bir etkinlik alınırken bunun nedeni maxAttendee sorgu parametresi tarafından belirtilen bir kısıtlama olabilir. Bir etkinlik güncellenirken 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 değer, Yanlış'tır. yazılabilir
colorId string Etkinliğin rengi. Bu, renk tanımının event bölümündeki bir girişi ifade eden bir kimliktir ( renkler 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şikliklerinizi sürdürmek istiyorsanız tüm etkinlik değiştirme 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ştirilmiş tarih-saat değeri olarak saat (RFC3339'a göre biçimlendirilmiştir). timeZone içinde bir 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çimlendirilmiştir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan gereklidir ve yinelenmenin genişletildiği saat dilimini belirtir. Tek bir etkinlik için bu alan isteğe bağlıdır ve etkinliğin başlangıcı/bitişi için özel bir saat dilimi belirtir. yazılabilir
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 cihazındaki etkinlik kopyaları arasında paylaşılan mülkler takvim. yazılabilir
focusTimeProperties nested object Odaklanma zamanı etkinlik verileri. eventType değeri focusTime ise kullanılır. yazılabilir
gadget.display string Aygıtın görüntü modu. Kullanımdan kaldırıldı. Olası değerler:
  • "icon" - Aygıt, takvim görünümünde etkinlik başlığının yanında görüntülenir.
  • "chip" - Etkinlik tıklandığında widget görüntülenir.
yazılabilir
gadget.height integer Aygıtı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 Aygıtın başlığı. Kullanımdan kaldırıldı. yazılabilir
gadget.type string Aygıtın türü. Kullanımdan kaldırıldı. yazılabilir
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, Doğru'dur. yazılabilir
guestsCanModify boolean Düzenleyen dışındaki katılımcıların etkinliği değiştirip değiştiremeyeceğini belirtir. İsteğe bağlı. Varsayılan değer, Yanlış'tır. yazılabilir
guestsCanSeeOtherGuests boolean Düzenleyen dışındaki katılımcıların etkinlik katılımcılarının kimler olduğunu görüp göremeyeceğini belirler. İsteğe bağlı. Varsayılan değer, Doğru'dur. 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 kişi aynı zamanda bir katılımcıysa bu durum attendees alanında organizer alanı Doğru değerine ayarlanmış ayrı bir girişle belirtilir. Düzenleyiciyi değiştirmek için taşıma işlemini kullanın. Bir etkinliği içe aktarma işlemi hariç, salt okunurdur. yazılabilir
organizer.displayName string Varsa düzenleyen kişinin adı. yazılabilir
organizer.email string Varsa, düzenleyen kişinin e-posta adresi. Bu, RFC5322'ye göre 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ştirilmiş tarih-saat değeri olarak saat (RFC3339'a göre biçimlendirilmiştir). timeZone içinde bir 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çimlendirilmiştir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan gereklidir ve yinelenmenin genişletildiği saat dilimini belirtir. Tek bir etkinlik için bu alan isteğe bağlıdır ve etkinliğin başlangıcı/bitişi için özel bir saat dilimi 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 belirtilen, 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 çıkarılır. yazılabilir
reminders.overrides[] list Etkinlikte varsayılan hatırlatıcılar kullanılmıyorsa etkinliğe özel hatırlatıcılar listelenir. Ayarlanmamışsa etkinlik için hiçbir hatırlatıcı ayarlanmadığı gösterilir. Geçersiz kılma hatırlatıcıları maksimum 5 tanedir. 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 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 (dakika cinsinden 4 hafta) arasındadır.

Hatırlatıcı eklerken zorunludur.

yazılabilir
reminders.useDefault boolean Takvimdeki varsayılan hatırlatıcıların etkinliğe uygulanıp uygulanmayacağı. yazılabilir
sequence integer iCalendar'a 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ştirilmiş tarih-saat değeri olarak saat (RFC3339'a göre biçimlendirilmiştir). timeZone içinde bir 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çimlendirilmiştir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan gereklidir ve yinelenmenin genişletildiği saat dilimini belirtir. Tek bir etkinlik için bu alan isteğe bağlıdır ve etkinliğin başlangıcı/bitişi için ö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, yalnızca artımlı senkronizasyonda (syncToken veya updatedMin belirtildiğinde) veya showDeleted işareti true değerine ayarlandığında iptal edilen etkinlikleri döndürür. get yöntemi her zaman bunları döndürür.

    İptal edildi durumu, 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. Müşteriler bu etkinlikleri, üst düzenli etkinliğin süresi boyunca depolamalıdır.

      İptal edilen istisnalarda 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 silinmiş etkinlikleri temsil eder. İstemciler yerel olarak senkronize edilmiş kopyalarını kaldırmalıdır. İptal edilen bu tür etkinlikler zaman içinde kaybolacağından süresiz olarak kullanılabilir olacaklarına güvenmeyin.

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

    Etkinliği düzenleyenin takviminde, iptal edilen etkinliklerin ayrıntıları (özet, konum vb.) gösterilmeye devam eder. Böylece bu ayrıntılar geri yüklenebilir. 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ış değerine ayarlanmış artımlı senkronizasyon istekleri bu ayrıntıları döndürmez.

    Bir etkinliğin düzenleyicisi değiştirilirse (örneğin, taşıma işlemiyle) ve asıl düzenleyen kişi katılımcı listesinde değilse bu etkinlik yalnızca id alanının doldurulmasının garanti edildiği iptal edilmiş bir etkinlik bırakı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 saati engellemektedir. 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 Kullanılabilir olarak ayarlamakla 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 takvimin tüm okuyucuları etkinlik ayrıntılarını görebilir.
  • "private" - Etkinlik gizlidir ve yalnızca etkinlik katılımcıları etkinlik ayrıntılarını görüntüleyebilir.
  • "confidential" - Etkinlik gizliyse. 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 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ı 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.