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 deprecato:se viene importato un evento non default
, il tipo viene modificato in default
e le eventuali proprietà specifiche per 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 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 .
|
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. | |
iCalUID |
string |
Identificatore univoco dell'evento come definito in 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, 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à 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:
|
scrivibile |
attendeesOmitted |
boolean |
Indica se i partecipanti potrebbero essere stati omessi dalla rappresentazione dell'evento. Quando si recupera un evento, ciò potrebbe essere dovuto a una restrizione specificata dal parametro di query maxAttendee . Durante l'aggiornamento di un evento, può essere utilizzato solo per aggiornare la risposta del partecipante. Campo 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 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 |
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:
|
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.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. 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 |
location |
string |
Posizione geografica dell'evento come testo in formato libero. Campo facoltativo. | scrivibile |
organizer |
object |
L'organizzatore dell'evento. Se l'organizzatore è anche un partecipante, verrà indicato con una voce separata in attendees con il campo organizer impostato su True. Per cambiare l'organizzatore, utilizza l'operazione sposta. Sola lettura, tranne durante l'importazione di un evento. |
scrivibile |
organizer.displayName |
string |
Il nome dell'organizzatore, se disponibile. | scrivibile |
organizer.email |
string |
Indirizzo email dell'organizzatore, se disponibile. Deve essere un indirizzo email valido secondo RFC5322. | 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:
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:
|
scrivibile |
summary |
string |
Titolo dell'evento. | scrivibile |
transparency |
string |
Indica se l'evento blocca un orario sul calendario. Campo facoltativo. I valori possibili sono:
|
scrivibile |
visibility |
string |
Visibilità dell'evento. Campo facoltativo. I valori possibili sono:
|
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.
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 di 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 Explorer API di seguito per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.