Avvio
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-calendar`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/calendar/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installa
Sezione intitolata “Installa”Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo abilità al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUsa poi il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-calendar` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform di seguito:
npm install @capgo/capacitor-calendarnpx cap syncConfigurazione per iOS
Sezione intitolata “Configurazione per iOS”Aggiungi le descrizioni di utilizzo che il tuo app necessita di ios/App/App/Info.plist:
<key>NSCalendarsUsageDescription</key><string>This app needs calendar access.</string><key>NSCalendarsWriteOnlyAccessUsageDescription</key><string>This app needs permission to add calendar events.</string><key>NSCalendarsFullAccessUsageDescription</key><string>This app needs permission to read and manage calendar events.</string><key>NSRemindersUsageDescription</key><string>This app needs reminders access.</string><key>NSRemindersFullAccessUsageDescription</key><string>This app needs permission to read and manage reminders.</string>Dal 17 e successivi, iOS distingue tra accesso scritto e accesso completo al calendario. Includi le descrizioni di utilizzo dei promemoria solo se il tuo app chiama le API dei promemoria.
Riferimento Apple: Migrare ai livelli di accesso calendario più aggiornati.
Configurazione Android
Sezione intitolata “Configurazione Android”Aggiungi le autorizzazioni del calendario che il tuo app necessita di android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_CALENDAR" /><uses-permission android:name="android.permission.WRITE_CALENDAR" />Riferimento Android: Autorizzazioni del provider di calendario.
Richiedi l'accesso al calendario
Sezione intitolata “Richiedi accesso al calendario”import { CapacitorCalendar } from '@capgo/capacitor-calendar';
const permission = await CapacitorCalendar.requestFullCalendarAccess();
if (permission.result !== 'granted') { throw new Error('Calendar permission was not granted');}Per le app che aggiungono solo eventi, utilizza requestWriteOnlyCalendarAccess(). Per le flussi di lettura esclusivamente per Android, utilizza requestReadOnlyCalendarAccess().
Crea un evento
Sezione intitolata “Crea un evento”Il calendario utilizza timestamp Unix in millisecondi.
import { CapacitorCalendar } from '@capgo/capacitor-calendar';
const startDate = Date.now() + 60 * 60 * 1000;const endDate = startDate + 60 * 60 * 1000;
const { id } = await CapacitorCalendar.createEvent({ title: 'Product review', location: 'Capgo', startDate, endDate, description: 'Created with @capgo/capacitor-calendar',});
console.log('Created event', id);Apre l'editor degli eventi nativi
Sezione intitolata “Apre l'editor degli eventi nativi”await CapacitorCalendar.createEventWithPrompt({ title: 'Planning session', location: 'Office', startDate: Date.now() + 24 * 60 * 60 * 1000, endDate: Date.now() + 25 * 60 * 60 * 1000,});Sui dispositivi Android, le chiamate di creazione e modifica basate su prompt restituiscono null. Elencare gli eventi successivi se è necessario trovare l'ID dell'evento creato.
Elenco degli eventi imminenti
Sezione intitolata “Elenco degli eventi imminenti”const now = Date.now();const oneWeekFromNow = now + 7 * 24 * 60 * 60 * 1000;
const { result: events } = await CapacitorCalendar.listEventsInRange({ from: now, to: oneWeekFromNow,});Scegli un calendario
Sezione intitolata “Scegli un calendario”const { result: calendars } = await CapacitorCalendar.listCalendars();const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();
const calendarId = defaultCalendar?.id ?? calendars[0]?.id;selectCalendarsWithPrompt() È disponibile su iOS quando desideri visualizzare il picker del calendario del sistema.
Crea un promemoria per iOS
Sezione intitolata “Crea un promemoria per iOS”const permission = await CapacitorCalendar.requestFullRemindersAccess();
if (permission.result === 'granted') { await CapacitorCalendar.createReminder({ title: 'Send launch notes', dueDate: Date.now() + 2 * 24 * 60 * 60 * 1000, notes: 'Created with @capgo/capacitor-calendar', });}Le API dei promemoria sono disponibili solo per iOS.
Esempio di App
Sottosezione intitolata “Esempio di App”Il repository include un Capacitor esempio di app con controlli di permesso, creazione di eventi, sollecitazioni di eventi native, elenco calendario e elenco di eventi di intervallo.
| iOS | Android |
|---|---|
![]() | ![]() |
API Reference
Sottosezione intitolata “API Reference”Il riferimento completo API è mantenuto nel file README e nelle definizioni di tipo TypeScript:

