Events: import

Bir etkinliği içe aktarır. Bu işlem, mevcut bir etkinliğin özel kopyasını takvime eklemek için kullanılır. Hemen deneyin veya bir örneği inceleyin.

İ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. Halihazırda 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 verilerinin desteklenmediğini varsayar ve etkinliğin gövdesindeki konferans verilerini yoksayar. 1. sürüm, konferans verileri oluşturma ve konferans verileri ile createRequest alanını kullanarak yeni konferanslar oluşturma desteğini sunar. Varsayılan değer 0'dır. Kabul edilebilir değerler 0 ile 1 arasındadır (bu değerler dahil).
supportsAttachments boolean API istemci performansı işlevinin etkinlik eklerini destekleyip desteklemediği. İsteğe bağlı. False, varsayılan değerdir.

Yetkilendirme

Bu istek, aşağıdaki kapsamlardan 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ını inceleyin.

İstek metni

İ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 (özel) bitiş zamanı. Yinelenen 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 sistemleri genelinde etkinlikleri benzersiz şekilde tanımlamak için kullanılır ve içe aktarma yöntemiyle etkinlikler içe aktarılırken sağlanması gerekir.

iCalUID ve id aynı değil ve etkinlik oluşturma sırasında bunlardan yalnızca biri sağlanmalıdır. Anlamsal işlevlerindeki bir fark, yinelenen etkinliklerde bir etkinliğin tüm tekrarlarının farklı ids olmasıdır ancak tümü aynı iCalUIDs öğesini paylaşır. Bir etkinliği iCalUID kullanarak almak için events.list yöntemini iCalUID parametresini kullanarak çağırın. Bir etkinliği id kullanarak almak için events.get yöntemini çağırın.

start nested object Etkinliğin başlangıç saati. 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 (kullanımdan kaldırıldı). İsteğe bağlı. False, varsayılan değerdir. 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 bulunan biçimin aynısını 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ılarla etkinlikler kılavuzunu inceleyin. 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 Katılımcının e-posta adresi (varsa). Bu alan, katılımcı eklerken mevcut olmalıdır. RFC5322 uyarınca geçerli bir e-posta adresi olmalıdır.

Katılımcı eklenirken zorunludur.

yazılabilir
attendees[].optional boolean İsteğe bağlı bir katılımcı olup olmadığı. İsteğe bağlı. False, varsayılan değerdir. 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ı. False, varsayılan değerdir. 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ılmadığı. Bir etkinliği alırken bunun nedeni, maxAttendee sorgu parametresi tarafından belirtilen bir kısıtlama olabilir. Bu özellik, bir etkinliği güncellerken yalnızca katılımcının yanıtını güncellemek için kullanılabilir. İsteğe bağlı. False, varsayılan değerdir. yazılabilir
colorId string Etkinliğin rengi. Bu, renk tanımının event bölümündeki bir girişe referans veren bir kimliktir (renk uç noktasına bakın). İsteğe bağlı. yazılabilir
conferenceData nested object Google Meet konferansıyla ilgili ayrıntılar gibi konferansla ilgili bilgiler. Yeni konferans ayrıntıları oluşturmak için createRequest alanını kullanın. Değişikliklerinizi korumak için tüm etkinlik değişikliği 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 tarih ve saat değeri olarak saat (RFC3339'a göre biçimlendirilir). timeZone içinde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı belirtilmelidir. yazılabilir
end.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelenmenin genişletildiği saat dilimini belirtir. Bu alan, tekli etkinlikler için 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 Bu takvimde görünen etkinliğin kopyasına özel özellikler. yazılabilir
extendedProperties.shared object Diğer katılımcıların takvimlerinde etkinliğin kopyaları arasında paylaşılan mülkler. yazılabilir
gadget.display string Gadget'ın görüntüleme 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üzenleyenin 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 değeridir. yazılabilir
guestsCanModify boolean Etkinliği düzenleyen kullanıcı dışındaki katılımcıların etkinlikte değişiklik yapıp yapamayacağı. İsteğe bağlı. False, varsayılan değerdir. yazılabilir
guestsCanSeeOtherGuests boolean Etkinliği düzenleyenin dışındaki katılımcıların etkinlik katılımcılarının kim olduğunu görüp göremeyeceği. İsteğe bağlı. Varsayılan değer, Doğru değeridir. yazılabilir
location string Etkinliğin serbest biçimli metin olarak bulunduğu coğrafi konumu. İsteğe bağlı. yazılabilir
organizer object Etkinliği düzenleyen kullanıcı. Toplantıyı düzenleyen kişi de katılımcıysa bu durum, organizer alanının Doğru olarak ayarlandığı attendees alt bölümünde ayrı bir girişle gösterilir. Düzenleyeni değiştirmek için taşıma işlemini kullanın. Bir etkinliği içe aktarma işlemi hariç, salt okunur. yazılabilir
organizer.displayName string Varsa düzenleyenin adı. yazılabilir
organizer.email string Varsa etkinliği 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 tarih ve saat değeri olarak saat (RFC3339'a göre biçimlendirilir). timeZone içinde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı belirtilmelidir. yazılabilir
originalStartTime.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelenmenin genişletildiği saat dilimini belirtir. Bu alan, tekli etkinlikler için isteğe bağlıdır ve etkinliğin başlangıcı/bitişi için özel bir saat dilimi belirtir. yazılabilir
recurrence[] list RFC5545'te belirtildiği gibi, yinelenen bir etkinlik için RSTS, EXCAMPAIGNS, 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 belirtilmiştir. Bu alan, tek tek etkinlikler veya yinelenen etkinliklerin örnekleri için çıkarılır. yazılabilir
reminders.overrides[] list Etkinlik varsayılan hatırlatıcıları kullanmıyorsa bu ayar, etkinliğe özel hatırlatıcıları listeler veya ayarlanmamışsa bu etkinlik için hiçbir hatırlatıcı ayarlanmadığını gösterir. Geçersiz kılma hatırlatıcılarının sayısı en fazla 5 olabilir. yazılabilir
reminders.overrides[].method string Bu hatırlatıcı tarafından kullanılan 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'ı üzerinden gönderilir.

Hatırlatıcı eklerken zorunludur.

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

Hatırlatıcı eklerken zorunludur.

yazılabilir
reminders.useDefault boolean Takvim için 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ığı; örneğin, bir web sayfasının başlığı veya e-posta konusu. yazılabilir
source.url string Bir kaynağı gösteren 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 tarih ve saat değeri olarak saat (RFC3339'a göre biçimlendirilir). timeZone içinde saat dilimi açıkça belirtilmediği sürece saat dilimi farkı belirtilmelidir. yazılabilir
start.timeZone string Saatin belirtildiği saat dilimi. (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. "Avrupa/Zürih".) Yinelenen etkinlikler için bu alan zorunludur ve yinelenmenin genişletildiği saat dilimini belirtir. Bu alan, tekli etkinlikler için 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 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ı senkronizasyonla (syncToken veya updatedMin belirtildiğinde) ya da showDeleted işareti true olarak ayarlandığında döndürür. Bunları get yöntemi her zaman döndürür.

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

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

      İptal edilen istisnaların yalnızca id, recurringEventId ve originalStartTime alanlarına ait değerlerin olacağı garanti edilir. Diğer alanlar boş olabilir.

    2. İptal edilen diğer tüm etkinlikler silinmiş etkinlikleri temsil eder. Müşteriler, yerel olarak senkronize edilmiş kopyalarını kaldırmalıdır. İptal edilen bu etkinlikler zaman içinde kaybolur. Bu nedenle, bu etkinliklerin süresiz olarak kullanılabilir olmasına güvenmeyin.

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

    Düzenleyen kişinin takviminde, iptal edilen etkinliklerin geri yüklenebilmesi ve silinememesi için etkinlik ayrıntıları (özet, konum vb.) gösterilmeye devam eder. Benzer şekilde, kullanıcının davet edildiği ve manuel olarak kaldırıldığı etkinlikler de ayrıntı sağlamaya devam eder. Ancak, showDeleted yanlış değerine ayarlanmış artımlı senkronizasyon istekleri bu ayrıntıları döndürmez.

    Bir etkinlik, düzenleyeni değiştirirse (örneğin, taşıma işlemi aracılığıyla) ve etkinliği ilk düzenleyen kişi katılımcı listesinde değilse yalnızca id alanının doldurulacağı garanti edilen iptal edilen bir etkinliğin altında kalır.

yazılabilir
summary string Etkinliğin adı. yazılabilir
transparency string Etkinliğin takvimde zaman sağlayıp sağlamadığı. İsteğe bağlı. Olası değerler:
  • "opaque" - Varsayılan değer. Etkinlik, takvimdeki zamanı engeller. Bu, Takvim kullanıcı arayüzünde Beni göster seçeneğinin Meşgul olarak ayarlanmasıyla eşdeğerdir.
  • "transparent": Etkinlik takvimde zamanı engellemiyor. Bu, Takvim kullanıcı arayüzünde Beni şu şekilde göster: seçeneğinin Müsait olarak ayarlanmasına 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çık ve etkinlik ayrıntıları takvimin tüm okuyucuları tarafından görülebilir.
  • "private": Etkinlik gizlidir ve etkinlik ayrıntılarını yalnızca etkinlik katılımcıları görebilir.
  • "confidential": Etkinlik gizli. Bu değer, uyumluluk nedenleriyle sunulmaktadı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ığı 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.

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