Importa un evento. Questa operazione viene utilizzata per aggiungere una copia privata di un evento esistente a un calendario. Prova subito o guarda un esempio.
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. Utilizza la parola chiave "primary " per accedere al calendario principale dell'utente che ha eseguito l'accesso.
|
Parametri di query facoltativi | ||
conferenceDataVersion |
integer |
Numero di versione dei dati di conferenza supportato dal client API. La versione 0 presuppone che non vi sia supporto per i dati relativi alle conferenze e ignora i dati relativi alle conferenze 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 accettati sono compresi tra 0 e 1 .
|
supportsAttachments |
boolean |
Indica se l'operazione di esecuzione del client API supporta i collegamenti agli 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 all'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, è 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, è l'ora di inizio della prima istanza. | |
Proprietà facoltative | |||
anyoneCanAddSelf |
boolean |
Indica se chiunque può invitare se stesso all'evento (Opzione deprecata). Campo facoltativo. Il valore predefinito è False. | scrivibile |
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. |
scrivibile |
attendees[] |
list |
I partecipanti all'evento. Per ulteriori informazioni sulla pianificazione 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 della 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 si aggiunge 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 possono essere stati omessi dalla rappresentazione dell'evento. Quando si recupera un evento, ciò potrebbe essere dovuto a una limitazione specificata dal parametro di query maxAttendee . Quando aggiorni un evento, questa impostazione può essere utilizzata 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 correlate 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 l'evento dura tutto il giorno. | scrivibile |
end.dateTime |
datetime |
L'ora, sotto forma di valore combinato di data e ora (formattato in base a RFC3339). È necessario specificare un fuso orario diverso, a meno che non venga specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
end.timeZone |
string |
Il fuso orario in cui viene specificata l'ora. (Formato come nome di un database dei fusi orari IANA, ad esempio "Europa/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 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 le copie dell'evento sui calendari degli altri partecipanti. | scrivibile |
focusTimeProperties |
nested object |
Dati sugli eventi relativi al momento di concentrazione. Utilizzato 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 |
Indica se altri partecipanti diversi dall'organizzatore possono invitare altre persone all'evento. Campo facoltativo. Il valore predefinito è True. | scrivibile |
guestsCanModify |
boolean |
Indica se altri partecipanti e non l'organizzatore possono modificare l'evento. Campo facoltativo. Il valore predefinito è False. | scrivibile |
guestsCanSeeOtherGuests |
boolean |
Se altri partecipanti all'evento 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, ciò viene indicato con una voce separata in attendees con il campo organizer impostato su True. Per cambiare l'organizzatore, utilizza l'operazione di spostamento. Sola lettura, tranne durante l'importazione di 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 secondo RFC5322. | scrivibile |
originalStartTime.date |
date |
La data, nel formato "aaaa-mm-gg", se l'evento dura tutto il giorno. | scrivibile |
originalStartTime.dateTime |
datetime |
L'ora, sotto forma di valore combinato di data e ora (formattato in base a RFC3339). È necessario specificare un fuso orario diverso, a meno che non venga specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
originalStartTime.timeZone |
string |
Il fuso orario in cui viene specificata l'ora. (Formato come nome di un database dei fusi orari IANA, ad esempio "Europa/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 e la fine dell'evento. | scrivibile |
outOfOfficeProperties |
nested object |
Dati sugli eventi fuori sede. Utilizzato 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 i singoli eventi o per le istanze di eventi ricorrenti. |
scrivibile |
reminders.overrides[] |
list |
Se l'evento non utilizza i promemoria predefiniti, questa opzione elenca i promemoria specifici per l'evento o, se non è impostato, indica che non è impostato alcun promemoria per l'evento. Il numero massimo di promemoria di 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 l'evento dura tutto il giorno. | scrivibile |
start.dateTime |
datetime |
L'ora, sotto forma di valore combinato di data e ora (formattato in base a RFC3339). È necessario specificare un fuso orario diverso, a meno che non venga specificato esplicitamente un fuso orario in timeZone . |
scrivibile |
start.timeZone |
string |
Il fuso orario in cui viene specificata l'ora. (Formato come nome di un database dei fusi orari IANA, ad esempio "Europa/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 e la fine dell'evento. | scrivibile |
status |
string |
Lo stato dell'evento. Campo facoltativo. I valori possibili sono:
|
scrivibile |
summary |
string |
Titolo dell'evento. | scrivibile |
transparency |
string |
Indica se l'evento blocca determinati orari sul calendario. Campo facoltativo. I valori possibili sono:
|
scrivibile |
visibility |
string |
Visibilità dell'evento. Campo facoltativo. I valori possibili sono:
|
scrivibile |
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 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.