Importa un evento. Questa operazione viene utilizzata per aggiungere una copia privata di un evento esistente a un calendario. È possibile importare solo gli eventi con un valore eventType
pari a default
.
Comportamento non più supportato:se viene importato un evento diverso da default
, il relativo tipo verrà modificato in default
e tutte le proprietà specifiche del tipo di evento verranno eliminate.
Richiesta
Richiesta HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
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 eseguito l'accesso, utilizza la parola chiave "primary ".
|
Parametri di query facoltativi | ||
conferenceDataVersion |
integer |
Numero di versione dei dati della conferenza supportati dal client API. La versione 0 non presuppone il supporto dei dati della conferenza e li ignora nel corpo dell'evento. La versione 1 supporta la copia di ConferenceData e la creazione di nuove conferenze utilizzando il campo createRequest di conferenceData. Il valore predefinito è 0.
I valori accettabili sono compresi tra 0 e 1 .
|
supportsAttachments |
boolean |
Indica se il client API che esegue l'operazione supporta gli allegati degli eventi. 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 |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
Per ulteriori informazioni, consulta la pagina 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, si tratta dell'ora di fine della prima istanza. | |
iCalUID |
string |
Identificatore univoco evento come definito nel documento RFC5545. Viene utilizzato per identificare in modo univoco gli eventi nei sistemi di calendario e deve essere fornito durante l'importazione degli eventi tramite il metodo import. Tieni presente che |
|
start |
nested object |
L'ora di inizio (inclusa) dell'evento. Per un evento ricorrente, si tratta dell'ora di inizio della prima istanza. | |
Proprietà facoltative | |||
anyoneCanAddSelf |
boolean |
Indica se chiunque può autoinvitarsi all'evento (opzione non più supportata). Facoltativo. Il valore predefinito è False. | scrivibile |
attachments[].fileUrl |
string |
Link all'URL dell'allegato. Per aggiungere allegati di file di Google Drive, utilizza lo stesso formato della proprietà Obbligatorio quando aggiungi un allegato. |
scrivibile |
attendees[] |
list |
I partecipanti all'evento. Per saperne di più su come pianificare eventi con altri utenti del calendario, consulta la guida Eventi con invitati. Gli account di servizio devono utilizzare la delegazione dell'autorità a livello di dominio per compilare l'elenco dei partecipanti. | scrivibile |
attendees[].additionalGuests |
integer |
Numero di ospiti aggiuntivi. Facoltativo. Il valore predefinito è 0. | scrivibile |
attendees[].comment |
string |
Il commento alla risposta del partecipante. Facoltativo. | scrivibile |
attendees[].displayName |
string |
Il nome del partecipante, se disponibile. 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 come da RFC5322. Obbligatorio quando si aggiunge un partecipante. |
scrivibile |
attendees[].optional |
boolean |
Indica se si tratta di un partecipante facoltativo. Facoltativo. Il valore predefinito è False. | scrivibile |
attendees[].resource |
boolean |
Indica 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. Facoltativo. Il valore predefinito è False. | scrivibile |
attendees[].responseStatus |
string |
Lo stato della risposta del partecipante. I valori possibili sono:
|
scrivibile |
attendeesOmitted |
boolean |
Indica se i partecipanti potrebbero essere stati omessi dalla rappresentazione dell'evento. Quando viene recuperato un evento, questo potrebbe essere dovuto a una limitazione specificata dal parametro di query maxAttendee . Quando aggiorni un evento, puoi utilizzare questo parametro per aggiornare solo la risposta del partecipante. Facoltativo. Il valore predefinito è False. |
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 colors). 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. Può contenere HTML. Facoltativo. | scrivibile |
end.date |
date |
La data, nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. | scrivibile |
end.dateTime |
datetime |
L'ora, come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
end.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica 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/la fine dell'evento. | scrivibile |
extendedProperties.private |
object |
Proprietà private della copia dell'evento visualizzata in questo calendario. | scrivibile |
extendedProperties.shared |
object |
Proprietà condivise tra le copie dell'evento nei calendari di altri partecipanti. | scrivibile |
focusTimeProperties |
nested object |
Dati dell'evento Momento di concentrazione. Da utilizzare se eventType è focusTime . |
scrivibile |
gadget.display |
string |
La modalità di visualizzazione del gadget. Deprecato. I valori possibili sono:
|
scrivibile |
gadget.height |
integer |
L'altezza del gadget in pixel. L'altezza deve essere un numero intero maggiore di 0. Facoltativo. Deprecato. | scrivibile |
gadget.iconLink |
string |
L'URL dell'icona del gadget. Lo schema dell'URL deve essere HTTPS. Deprecato. | scrivibile |
gadget.link |
string |
L'URL del gadget. Lo schema dell'URL deve essere HTTPS. 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. Facoltativo. Deprecato. | scrivibile |
guestsCanInviteOthers |
boolean |
Indica se i partecipanti diversi dall'organizzatore possono invitare altre persone all'evento. Facoltativo. Il valore predefinito è True. | scrivibile |
guestsCanModify |
boolean |
Indica se i partecipanti diversi dall'organizzatore possono modificare l'evento. Facoltativo. Il valore predefinito è False. | scrivibile |
guestsCanSeeOtherGuests |
boolean |
Indica se i partecipanti diversi dall'organizzatore possono vedere chi sono i partecipanti all'evento. Facoltativo. Il valore predefinito è True. | scrivibile |
location |
string |
Posizione geografica dell'evento sotto forma di testo libero. Facoltativo. | scrivibile |
organizer |
object |
L'organizzatore dell'evento. Se l'organizzatore è anche un partecipante, questo viene indicato con una voce separata in attendees con il campo organizer impostato su True. Per cambiare l'organizzatore, utilizza l'operazione move. Solo lettura, tranne quando importi un evento. |
scrivibile |
organizer.displayName |
string |
Il nome dell'organizzatore, se disponibile. | scrivibile |
organizer.email |
string |
L'indirizzo email dell'organizzatore, se disponibile. Deve essere un indirizzo email valido come da RFC5322. | scrivibile |
originalStartTime.date |
date |
La data, nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. | scrivibile |
originalStartTime.dateTime |
datetime |
L'ora come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
originalStartTime.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica 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/la fine dell'evento. | scrivibile |
outOfOfficeProperties |
nested object |
Dati sugli eventi fuori sede. Da utilizzare 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 dell'evento sono specificate nei campi start e end . Questo campo viene omesso per i singoli eventi o le istanze di eventi ricorrenti. |
scrivibile |
reminders.overrides[] |
list |
Se l'evento non utilizza i promemoria predefiniti, vengono elencati i promemoria specifici per l'evento oppure, se non sono impostati, viene indicato che non sono impostati promemoria per questo evento. Il numero massimo di promemoria di override è 5. | scrivibile |
reminders.overrides[].method |
string |
Il metodo utilizzato da questo promemoria. I valori possibili sono:
Obbligatorio quando aggiungi un promemoria. |
scrivibile |
reminders.overrides[].minutes |
integer |
Numero di minuti prima dell'inizio dell'evento in cui deve 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 secondo iCalendar. | scrivibile |
source.title |
string |
Titolo della sorgente, 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 si tratta di un evento che dura tutto il giorno. | scrivibile |
start.dateTime |
datetime |
L'ora, come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
start.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica 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/la fine dell'evento. | scrivibile |
status |
string |
Stato dell'evento. Facoltativo. I valori possibili sono:
|
scrivibile |
summary |
string |
Titolo dell'evento. | scrivibile |
transparency |
string |
Indica se l'evento blocca un periodo di tempo nel calendario. Facoltativo. I valori possibili sono:
|
scrivibile |
visibility |
string |
Visibilità dell'evento. Facoltativo. I valori possibili sono:
|
scrivibile |
Risposta
In caso di esito positivo, questo metodo restituisce una risorsa Events 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.
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
Utilizza la libreria client Python.
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
Utilizza la libreria client PHP.
$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
Utilizza la libreria client Ruby.
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
Prova
Utilizza l'Explorer API di seguito per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.