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 eventType
pari a default
.
Comportamento deprecato: se viene importato un evento non default
, il suo tipo verrà modificato in default
e tutte le eventuali 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 percorso | ||
calendarId |
string |
Identificatore di calendario. Per recuperare gli ID calendario, chiama il metodo calendarList.list. Se vuoi accedere al calendario principale dell'utente che ha eseguito l'accesso, usa "primary " parola chiave.
|
Parametri di query facoltativi | ||
conferenceDataVersion |
integer |
Numero di versione dei dati della conferenza supportati dal client API. La versione 0 presuppone che i dati relativi alle conferenze non siano supportati e ignora i dati relativi alle conferenze nel corpo dell'evento. La versione 1 consente il supporto per la copia di ConferenceData e per la creazione di nuove conferenze utilizzando il campo createRequest di ConferenceData. Il valore predefinito è 0.
I valori accettati sono compresi tra 0 e 1 (inclusi).
|
supportsAttachments |
boolean |
Indica se il client API che esegue l'operazione supporta i collegamenti di 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 |
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, 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 vari sistemi di calendario e deve essere fornito quando si importano gli eventi tramite il metodo import. Tieni presente che |
|
start |
nested object |
L'ora (inclusa) di inizio dell'evento. Per un evento ricorrente, questa è l'ora di inizio della prima istanza. | |
Proprietà facoltative | |||
anyoneCanAddSelf |
boolean |
Indica se chiunque può invitarsi all'evento (deprecato). (Facoltativo) Il valore predefinito è False. | accessibile in scrittura |
attachments[].fileUrl |
string |
Link URL all'allegato. Per aggiungere allegati di file di Google Drive, utilizza lo stesso formato della proprietà Obbligatorio quando si aggiunge un allegato. |
accessibile in scrittura |
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 completare l'elenco dei partecipanti. | accessibile in scrittura |
attendees[].additionalGuests |
integer |
Numero di ospiti aggiuntivi. (Facoltativo) Il valore predefinito è 0. | accessibile in scrittura |
attendees[].comment |
string |
Commento della risposta del partecipante. (Facoltativo) | accessibile in scrittura |
attendees[].displayName |
string |
Il nome del partecipante, se disponibile. (Facoltativo) | accessibile in scrittura |
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 conforme a RFC5322. Obbligatorio quando si aggiunge un partecipante. |
accessibile in scrittura |
attendees[].optional |
boolean |
Se si tratta di un partecipante facoltativo. (Facoltativo) Il valore predefinito è False. | accessibile in scrittura |
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. (Facoltativo) Il valore predefinito è False. | accessibile in scrittura |
attendees[].responseStatus |
string |
Lo stato della risposta del partecipante. I valori possibili sono:
|
accessibile in scrittura |
attendeesOmitted |
boolean |
L'eventualità che i partecipanti siano stati omessi dalla rappresentazione dell'evento. Durante il recupero di un evento, ciò potrebbe essere dovuto a una limitazione specificata dal parametro di query maxAttendee . Quando aggiorni un evento, questa opzione può essere utilizzata solo per aggiornare la risposta del partecipante. (Facoltativo) Il valore predefinito è False. |
accessibile in scrittura |
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). (Facoltativo) |
accessibile in scrittura |
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. |
accessibile in scrittura |
description |
string |
Descrizione dell'evento. Può contenere codice HTML. (Facoltativo) | accessibile in scrittura |
end.date |
date |
La data nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. | accessibile in scrittura |
end.dateTime |
datetime |
L'ora, come valore combinato di data e ora (formattato in base a RFC3339). La differenza del fuso orario è obbligatoria, a meno che non venga specificato esplicitamente in timeZone un fuso orario. |
accessibile in scrittura |
end.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome di un database di fusi orari IANA, ad esempio "Europa/Zurigo"). 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 e la fine dell'evento. | accessibile in scrittura |
extendedProperties.private |
object |
Proprietà private per la copia dell'evento visualizzato in questo calendario. | accessibile in scrittura |
extendedProperties.shared |
object |
Proprietà condivise tra le copie dell'evento negli altri partecipanti calendari. | accessibile in scrittura |
focusTimeProperties |
nested object |
Dati sull'evento Momento di concentrazione. Utilizzato se eventType è focusTime . |
accessibile in scrittura |
gadget.display |
string |
La modalità di visualizzazione del gadget. Deprecato. I valori possibili sono:
|
accessibile in scrittura |
gadget.height |
integer |
L'altezza del gadget in pixel. L'altezza deve essere un numero intero maggiore di 0. (Facoltativo) Deprecato. | accessibile in scrittura |
gadget.iconLink |
string |
L'URL dell'icona del gadget. Lo schema dell'URL deve essere HTTPS. Deprecato. | accessibile in scrittura |
gadget.link |
string |
L'URL del gadget. Lo schema dell'URL deve essere HTTPS. Deprecato. | accessibile in scrittura |
gadget.preferences |
object |
Preferenze. | accessibile in scrittura |
gadget.title |
string |
Il titolo del gadget. Deprecato. | accessibile in scrittura |
gadget.type |
string |
Il tipo di gadget. Deprecato. | accessibile in scrittura |
gadget.width |
integer |
La larghezza del gadget in pixel. La larghezza deve essere un numero intero maggiore di 0. (Facoltativo) Deprecato. | accessibile in scrittura |
guestsCanInviteOthers |
boolean |
Se partecipanti diversi dall'organizzatore possono invitare altre persone all'evento. (Facoltativo) Il valore predefinito è True. | accessibile in scrittura |
guestsCanModify |
boolean |
Se partecipanti diversi dall'organizzatore possono modificare l'evento. (Facoltativo) Il valore predefinito è False. | accessibile in scrittura |
guestsCanSeeOtherGuests |
boolean |
Se partecipanti diversi dall'organizzatore possono vedere chi sono i partecipanti all'evento. (Facoltativo) Il valore predefinito è True. | accessibile in scrittura |
location |
string |
La posizione geografica dell'evento come testo in formato libero. (Facoltativo) | accessibile in scrittura |
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 sposta. Sola lettura, tranne durante l'importazione di un evento. |
accessibile in scrittura |
organizer.displayName |
string |
Il nome dell'organizzatore, se disponibile. | accessibile in scrittura |
organizer.email |
string |
L'indirizzo email dell'organizzatore, se disponibile. Deve essere un indirizzo email valido conforme a RFC5322. | accessibile in scrittura |
originalStartTime.date |
date |
La data nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. | accessibile in scrittura |
originalStartTime.dateTime |
datetime |
L'ora, come valore combinato di data e ora (formattato in base a RFC3339). La differenza del fuso orario è obbligatoria, a meno che non venga specificato esplicitamente in timeZone un fuso orario. |
accessibile in scrittura |
originalStartTime.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome di un database di fusi orari IANA, ad esempio "Europa/Zurigo"). 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 e la fine dell'evento. | accessibile in scrittura |
outOfOfficeProperties |
nested object |
Dati sugli eventi fuori sede. Utilizzato se eventType è outOfOffice . |
accessibile in scrittura |
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 sono specificate nei campi start e end . Questo campo è omesso per singoli eventi o istanze di eventi ricorrenti. |
accessibile in scrittura |
reminders.overrides[] |
list |
Se l'evento non utilizza i promemoria predefiniti, vengono elencati i promemoria specifici per l'evento oppure, se non è impostato, non è impostato alcun promemoria per l'evento. Il numero massimo di promemoria di override è 5. | accessibile in scrittura |
reminders.overrides[].method |
string |
Il metodo utilizzato da questo promemoria. I valori possibili sono:
Obbligatorio quando aggiungi un promemoria. |
accessibile in scrittura |
reminders.overrides[].minutes |
integer |
Numero di minuti prima dell'inizio dell'evento quando deve essere attivato il promemoria. I valori validi sono compresi tra 0 e 40320 (4 settimane in minuti). Obbligatorio quando aggiungi un promemoria. |
accessibile in scrittura |
reminders.useDefault |
boolean |
Indica se i promemoria predefiniti del calendario si applicano all'evento. | accessibile in scrittura |
sequence |
integer |
Numero di sequenza come per iCalendar. | accessibile in scrittura |
source.title |
string |
Titolo della fonte; ad esempio il titolo di una pagina web o l'oggetto di un'email. | accessibile in scrittura |
source.url |
string |
URL dell'origine che rimanda a una risorsa. Lo schema dell'URL deve essere HTTP o HTTPS. | accessibile in scrittura |
start.date |
date |
La data nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. | accessibile in scrittura |
start.dateTime |
datetime |
L'ora, come valore combinato di data e ora (formattato in base a RFC3339). La differenza del fuso orario è obbligatoria, a meno che non venga specificato esplicitamente in timeZone un fuso orario. |
accessibile in scrittura |
start.timeZone |
string |
Il fuso orario in cui è specificata l'ora. (Formattato come nome di un database di fusi orari IANA, ad esempio "Europa/Zurigo"). 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 e la fine dell'evento. | accessibile in scrittura |
status |
string |
Stato dell'evento. (Facoltativo) I valori possibili sono:
|
accessibile in scrittura |
summary |
string |
Titolo dell'evento. | accessibile in scrittura |
transparency |
string |
Se l'evento blocca il tempo sul calendario. (Facoltativo) I valori possibili sono:
|
accessibile in scrittura |
visibility |
string |
Visibilità dell'evento. (Facoltativo) I valori possibili sono:
|
accessibile in scrittura |
Risposta
In caso di 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 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
Usa Explorer API in basso per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.