Events: insert

Crea un evento. Prova subito o visualizza un esempio.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri del percorso
calendarId string Identificatore del calendario. Per recuperare gli ID calendario, chiama il metodo calendarList.list. Se vuoi accedere al calendario principale dell'utente che ha effettuato l'accesso, utilizza la parola chiave "primary".
Parametri di query facoltativi
conferenceDataVersion integer Numero di versione dei dati di conferenza supportato dal client API. La versione 0 presuppone che non supportino dati di conferenza e ignora i dati relativi alle conferenze nel corpo dell'evento. La versione 1 consente di supportare la copia di ConferenceData e la creazione di nuove conferenze utilizzando il campo createRequest di conferenceData. Il valore predefinito è 0. I valori accettati sono compresi tra 0 e 1.
maxAttendees integer Il numero massimo di partecipanti da includere nella risposta. Se il numero di partecipanti è superiore a quello specificato, viene restituito solo il partecipante. Campo facoltativo.
sendNotifications boolean Deprecato. Usa invece sendUpdates.

Indica se inviare notifiche sulla creazione del nuovo evento. Tieni presente che alcune email potrebbero comunque essere inviate anche se imposti il valore su false. Il valore predefinito è false.
sendUpdates string Se inviare notifiche sulla creazione del nuovo evento. Tieni presente che alcune email potrebbero comunque essere inviate. Il valore predefinito è false.

I valori accettati sono:
  • "all": le notifiche vengono inviate a tutti gli invitati.
  • "externalOnly": le notifiche vengono inviate solo agli invitati che non sono utenti di Google Calendar.
  • "none": non viene inviata alcuna notifica.
supportsAttachments boolean Indica se l'operazione di esecuzione del client API supporta i collegamenti degli eventi. Campo facoltativo. Il valore predefinito è False.

Autorizzazione

Questa richiesta richiede l'autorizzazione con almeno uno dei seguenti ambiti:

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

Per ulteriori informazioni, consulta la pagina relativa a autenticazione e autorizzazione.

Corpo della richiesta

Nel corpo della richiesta, fornisci una risorsa Eventi con le seguenti proprietà:

Nome proprietà Valore Descrizione Note
Proprietà obbligatorie
end nested object L'ora di fine (esclusiva) dell'evento. Per un evento ricorrente, questa è l'ora di fine della prima istanza.
start nested object L'ora di inizio (inclusa) dell'evento. Per un evento ricorrente, questa è l'ora di inizio della prima istanza.
Proprietà facoltative
anyoneCanAddSelf boolean Se chiunque può invitare se stesso all'evento (deprecato). Campo facoltativo. Il valore predefinito è False. scrivibile
attachments[].fileUrl string Link URL all'allegato.

Per aggiungere allegati a file di Google Drive, utilizza lo stesso formato della proprietà alternateLink della risorsa Files nell'API Drive.

Obbligatorio quando aggiungi un allegato.

scrivibile
attendees[] list I partecipanti all'evento. Per ulteriori informazioni sulla programmazione di eventi con altri utenti del calendario, consulta la guida Eventi con partecipanti. Gli account di servizio devono utilizzare la delega dell'autorità a livello di dominio per compilare l'elenco dei partecipanti. scrivibile
attendees[].additionalGuests integer Numero di ospiti aggiuntivi. Campo facoltativo. Il valore predefinito è 0. scrivibile
attendees[].comment string Il commento di risposta del partecipante. Campo facoltativo. scrivibile
attendees[].displayName string Il nome del partecipante, se disponibile. Campo facoltativo. scrivibile
attendees[].email string L'indirizzo email del partecipante, se disponibile. Questo campo deve essere presente quando aggiungi un partecipante. Deve essere un indirizzo email valido secondo RFC5322.

Obbligatorio quando aggiungi un partecipante.

scrivibile
attendees[].optional boolean Indica se si tratta di un partecipante facoltativo. Campo facoltativo. Il valore predefinito è False. scrivibile
attendees[].resource boolean Se il partecipante è una risorsa. Può essere impostato solo quando il partecipante viene aggiunto all'evento per la prima volta. Le modifiche successive vengono ignorate. Campo facoltativo. Il valore predefinito è False. scrivibile
attendees[].responseStatus string Lo stato della risposta del partecipante. I valori possibili sono:
  • "needsAction" - Il partecipante non ha risposto all'invito (consigliato per i nuovi eventi).
  • "declined" - Il partecipante ha rifiutato l'invito.
  • "tentative" - Il partecipante ha accettato provvisoriamente l'invito.
  • "accepted" - Il partecipante ha accettato l'invito.
scrivibile
colorId string Il colore dell'evento. Si tratta di un ID che fa riferimento a una voce nella sezione event della definizione dei colori (vedi l' endpoint dei colori). Campo facoltativo. scrivibile
conferenceData nested object Le informazioni relative alla conferenza, ad esempio i dettagli di una conferenza di Google Meet. Per creare nuovi dettagli della conferenza, utilizza il campo createRequest. Per mantenere le modifiche, ricordati di impostare il parametro di richiesta conferenceDataVersion su 1 per tutte le richieste di modifica degli eventi. scrivibile
description string Descrizione dell'evento. Possono contenere HTML. Campo facoltativo. scrivibile
end.date date La data, nel formato "aaaa-mm-gg", se questo è un evento che dura tutto il giorno. scrivibile
end.dateTime datetime L'ora, espressa come valore combinato di data e ora (formattato secondo RFC3339). La differenza è obbligatoria, a meno che non venga specificato esplicitamente un fuso orario in timeZone. scrivibile
end.timeZone string Il fuso orario in cui è specificata l'ora. (formattato come nome di database dei fusi orari IANA, ad esempio "Europa/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e consente di specificare il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio e la fine dell'evento. scrivibile
eventType string Tipo specifico di evento. Questo valore non può essere modificato dopo la creazione dell'evento. I valori possibili sono:
  • "default" - Un evento regolare o non ulteriormente specificato.
  • "outOfOffice" - Un evento fuori sede.
  • "focusTime" - Un evento di momento di concentrazione.
  • "workingLocation": un evento relativo a un luogo di lavoro.
scrivibile
extendedProperties.private object Proprietà private per la copia dell'evento visualizzato in questo calendario. scrivibile
extendedProperties.shared object Proprietà condivise tra copie dell'evento sui calendari di altri partecipanti. scrivibile
focusTimeProperties nested object Dati sugli eventi relativi al momento di concentrazione. In uso se eventType è focusTime. scrivibile
gadget.display string La modalità di visualizzazione del gadget. Deprecato. I valori possibili sono:
  • "icon": il gadget viene mostrato accanto al titolo dell'evento nella visualizzazione calendario.
  • "chip": il gadget viene visualizzato quando viene fatto clic sull'evento.
scrivibile
gadget.height integer L'altezza del gadget in pixel. L'altezza deve essere un numero intero maggiore di 0. Campo facoltativo. Deprecato. scrivibile
gadget.preferences object Preferenze. scrivibile
gadget.title string Il titolo del gadget. Deprecato. scrivibile
gadget.type string Il tipo di gadget. Deprecato. scrivibile
gadget.width integer La larghezza del gadget in pixel. La larghezza deve essere un numero intero maggiore di 0. Campo facoltativo. Deprecato. scrivibile
guestsCanInviteOthers boolean Se altri partecipanti diversi dall'organizzatore possono invitare altre persone all'evento. Campo facoltativo. Il valore predefinito è True. scrivibile
guestsCanModify boolean Indica se altri invitati diversi dall'organizzatore possono modificare l'evento. Campo facoltativo. Il valore predefinito è False. scrivibile
guestsCanSeeOtherGuests boolean Se i partecipanti diversi dall'organizzatore possono vedere chi sono i partecipanti all'evento. Campo facoltativo. Il valore predefinito è True. scrivibile
id string Identificatore opaco dell'evento. Quando crei nuovi eventi singoli o ricorrenti, puoi specificare i relativi ID. Gli ID forniti devono seguire queste regole:
  • I caratteri consentiti nell'ID sono quelli utilizzati nella codifica base32hex, ad esempio le lettere minuscole a-v e le cifre 0-9. Vedi la sezione 3.1.2 in RFC2938
  • la lunghezza dell'ID deve essere compresa tra 5 e 1024 caratteri
  • l'ID deve essere univoco per ogni calendario
A causa della natura distribuita a livello globale del sistema, non possiamo garantire che i conflitti di ID verranno rilevati al momento della creazione degli eventi. Per ridurre al minimo il rischio di collisioni, consigliamo di utilizzare un algoritmo UUID consolidato come quello descritto in RFC4122.

Se non specifichi un ID, questo verrà generato automaticamente dal server.

Tieni presente che icalUID e id non sono identici e solo uno di questi deve essere specificato al momento della creazione dell'evento. Una differenza nella loro semantica è che, negli eventi ricorrenti, tutte le occorrenze di un evento hanno id diversi, mentre tutti condividono gli stessi icalUID.

scrivibile
location string Posizione geografica dell'evento come testo in formato libero. Campo facoltativo. scrivibile
originalStartTime.date date La data, nel formato "aaaa-mm-gg", se questo è un evento che dura tutto il giorno. scrivibile
originalStartTime.dateTime datetime L'ora, espressa come valore combinato di data e ora (formattato secondo RFC3339). La differenza è obbligatoria, a meno che non venga specificato esplicitamente un fuso orario in timeZone. scrivibile
originalStartTime.timeZone string Il fuso orario in cui è specificata l'ora. (formattato come nome di database dei fusi orari IANA, ad esempio "Europa/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e consente di specificare il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio e la fine dell'evento. scrivibile
outOfOfficeProperties nested object Dati sugli eventi fuori sede. In uso se eventType è outOfOffice. scrivibile
recurrence[] list Elenco di righe RRULE, EXRULE, RDATE ed EXDATE per un evento ricorrente, come specificato in RFC5545. Tieni presente che le righe DTSTART e DTEND non sono consentite in questo campo; le ore di inizio e di fine degli eventi vengono specificate nei campi start e end. Questo campo viene omesso per eventi singoli o istanze di eventi ricorrenti. scrivibile
reminders.overrides[] list Se l'evento non utilizza i promemoria predefiniti, vengono elencati i promemoria specifici dell'evento o, se non è impostato, indica che non è impostato alcun promemoria per questo evento. Il numero massimo di promemoria per l'override è 5. scrivibile
reminders.overrides[].method string Il metodo utilizzato per il promemoria. I valori possibili sono:
  • "email" - I promemoria vengono inviati via email.
  • "popup": i promemoria vengono inviati in un popup UI.

Obbligatorio quando aggiungi un promemoria.

scrivibile
reminders.overrides[].minutes integer Numero di minuti prima dell'inizio dell'evento in cui dovrebbe essere attivato il promemoria. I valori validi sono compresi tra 0 e 40320 (4 settimane in minuti).

Obbligatorio quando aggiungi un promemoria.

scrivibile
reminders.useDefault boolean Indica se i promemoria predefiniti del calendario si applicano all'evento. scrivibile
sequence integer Numero di sequenza come da iCalendar. scrivibile
source.title string Titolo della fonte, ad esempio il titolo di una pagina web o l'oggetto di un'email. scrivibile
source.url string URL dell'origine che rimanda a una risorsa. Lo schema dell'URL deve essere HTTP o HTTPS. scrivibile
start.date date La data, nel formato "aaaa-mm-gg", se questo è un evento che dura tutto il giorno. scrivibile
start.dateTime datetime L'ora, espressa come valore combinato di data e ora (formattato secondo RFC3339). La differenza è obbligatoria, a meno che non venga specificato esplicitamente un fuso orario in timeZone. scrivibile
start.timeZone string Il fuso orario in cui è specificata l'ora. (formattato come nome di database dei fusi orari IANA, ad esempio "Europa/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e consente di specificare il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio e la fine dell'evento. scrivibile
status string Stato dell'evento. Campo facoltativo. I valori possibili sono:
  • "confirmed" - L'evento è confermato. Questo è lo stato predefinito.
  • "tentative" - L'evento è stato confermato provvisoriamente.
  • "cancelled" - L'evento è stato annullato (eliminato). Il metodo list restituisce gli eventi annullati solo durante la sincronizzazione incrementale (quando sono specificati syncToken o updatedMin) o se il flag showDeleted è impostato su true. Il metodo get li restituisce sempre.

    Lo stato annullato indica due stati diversi a seconda del tipo di evento:

    1. Le eccezioni annullate di un evento ricorrente non annullato indicano che questa istanza non dovrebbe più essere presentata all'utente. I clienti devono archiviare questi eventi per la durata dell'evento ricorrente padre.

      Per le eccezioni annullate è garantito che vengano compilati solo i valori per i campi id, recurringEventId e originalStartTime. Gli altri campi potrebbero essere vuoti.

    2. Tutti gli altri eventi annullati rappresentano eventi eliminati. I clienti dovrebbero rimuovere le copie sincronizzate localmente. Questi eventi annullati scompariranno, quindi non aspettarti che siano disponibili a tempo indeterminato.

      Per gli eventi eliminati viene garantita solo la compilazione del campo id.

    Nel calendario dell'organizzatore, gli eventi annullati continuano a mostrare i dettagli (riepilogo, luogo e così via) affinché possano essere ripristinati (annullati l'eliminazione). Analogamente, gli eventi a cui l'utente è stato invitato e che è stato rimosso manualmente continuano a fornire dettagli. Tuttavia, le richieste di sincronizzazione incrementali con showDeleted impostato su false non restituiranno questi dettagli.

    Se un evento cambia l'organizzatore (ad esempio tramite l'operazione move) e l'organizzatore originale non è nell'elenco dei partecipanti, rimarrà un evento annullato, in cui è garantito che venga compilato solo il campo id.

scrivibile
summary string Titolo dell'evento. scrivibile
transparency string Indica se l'evento blocca un orario sul calendario. Campo facoltativo. I valori possibili sono:
  • "opaque" - Il valore predefinito. L'evento blocca l'orario sul calendario. Equivale a impostare Mostra il mio stato come su Occupato nell'interfaccia utente di Calendar.
  • "transparent": l'evento non blocca l'orario sul calendario. Equivale a impostare Mostra il mio stato come su Disponibile nell'interfaccia utente di Calendar.
scrivibile
visibility string Visibilità dell'evento. Campo facoltativo. I valori possibili sono:
  • "default": utilizza la visibilità predefinita per gli eventi del calendario. Questo è il valore predefinito.
  • "public": l'evento è pubblico e i dettagli dell'evento sono visibili a tutti i lettori del calendario.
  • "private" - L'evento è privato e solo i partecipanti possono visualizzarne i dettagli.
  • "confidential" - L'evento è privato. Questo valore viene fornito per motivi di compatibilità.
scrivibile
workingLocationProperties nested object Dati sugli eventi relativi al luogo di lavoro. scrivibile
workingLocationProperties.customLocation object Se presente, specifica che l'utente sta lavorando da una posizione personalizzata. scrivibile
workingLocationProperties.customLocation.label string Un'etichetta aggiuntiva facoltativa per le informazioni aggiuntive. scrivibile
workingLocationProperties.homeOffice any value Se presente, specifica che l'utente sta lavorando da casa. scrivibile
workingLocationProperties.officeLocation object Se presente, specifica che l'utente sta lavorando da un ufficio. scrivibile
workingLocationProperties.officeLocation.buildingId string Un identificatore dell'edificio facoltativo. Deve fare riferimento a un ID edificio nel database delle risorse dell'organizzazione. scrivibile
workingLocationProperties.officeLocation.deskId string Un identificatore di scrivania facoltativo. scrivibile
workingLocationProperties.officeLocation.floorId string Un identificatore del prezzo minimo facoltativo. scrivibile
workingLocationProperties.officeLocation.floorSectionId string Un identificatore facoltativo della sezione del piano. scrivibile
workingLocationProperties.officeLocation.label string Il nome dell'ufficio visualizzato nei client Calendar per il web e per dispositivi mobili. Ti consigliamo di fare riferimento al nome di un edificio nel database delle risorse dell'organizzazione. scrivibile
workingLocationProperties.type string Tipo di luogo di lavoro. I valori possibili sono:
  • "homeOffice" - L'utente sta lavorando da casa.
  • "officeLocation" - L'utente sta lavorando da un ufficio.
  • "customLocation": l'utente sta lavorando da una posizione personalizzata.
Tutti i dettagli sono specificati in un campo secondario del nome specificato, ma il campo potrebbe non essere presente se vuoto. Tutti gli altri campi vengono ignorati.

Obbligatorio quando aggiungi proprietà del luogo di lavoro.

scrivibile

Risposta

Se l'esito è positivo, questo metodo restituisce una risorsa Eventi nel corpo della risposta.

Esempi

Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).

Java

Utilizza la libreria client Java.

// 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

Utilizza la libreria client Python.

# 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

Utilizza la libreria client PHP.

// 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

Utilizza la libreria client di Ruby.

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

Utilizza la libreria client.NET.

// 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

Utilizza la libreria client Go.

// 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

Utilizza la libreria client JavaScript.

// 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

Utilizza la libreria client Node.js.

// 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);
});

Prova.

Utilizza Explorer API di seguito per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.