Démarrage
Copiez une invite de configuration avec les étapes d'installation et la guide markdown complète pour ce 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.
Installation
Sous-section intitulée “Installation”Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA en utilisant la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, utilisez la prompt suivante :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-calendar` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à la plateforme ci-dessous :
npm install @capgo/capacitor-calendarnpx cap syncConfiguration iOS
Sous-section intitulée “Configuration iOS”Ajoutez les descriptions d'utilisation que votre application nécessite à 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>À partir d'iOS 17 et plus récents, distinguez entre l'accès écriture uniquement et l'accès complet au calendrier. Incluez les descriptions d'utilisation des rappels uniquement si votre application appelle les API des rappels.
Référence Apple : Migrer vers les niveaux d'accès calendrier les plus récents.
Configuration Android
Section intitulée « Configuration Android »Ajoutez les autorisations de calendrier que votre application nécessite à android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_CALENDAR" /><uses-permission android:name="android.permission.WRITE_CALENDAR" />Référence Android : Permissions des utilisateurs du fournisseur de calendrier.
Demander l'accès au calendrier
Section intitulée « Demander l'accès au calendrier »import { CapacitorCalendar } from '@capgo/capacitor-calendar';
const permission = await CapacitorCalendar.requestFullCalendarAccess();
if (permission.result !== 'granted') { throw new Error('Calendar permission was not granted');}Pour les applications qui n'ajoutent que des événements, utilisez requestWriteOnlyCalendarAccess() Pour les flux de lecture Android uniquement, utilisez requestReadOnlyCalendarAccess().
Créer Un Événement
Section intitulée « Créer Un Événement »Les dates sont des timestamps Unix en millisecondes.
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);Ouvrir l'éditeur d'événement natif
Section intitulée « Ouvrir l'éditeur d'événement natif »await CapacitorCalendar.createEventWithPrompt({ title: 'Planning session', location: 'Office', startDate: Date.now() + 24 * 60 * 60 * 1000, endDate: Date.now() + 25 * 60 * 60 * 1000,});Sur Android, les appels de création et de modification basés sur la saisie renvoient null. List les événements ensuite si vous devez trouver l'ID de l'événement créé.
Lister les événements à venir
Section intitulée “Lister les événements à venir”const now = Date.now();const oneWeekFromNow = now + 7 * 24 * 60 * 60 * 1000;
const { result: events } = await CapacitorCalendar.listEventsInRange({ from: now, to: oneWeekFromNow,});Choisir un calendrier
Section intitulée “Choisir un calendrier”const { result: calendars } = await CapacitorCalendar.listCalendars();const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();
const calendarId = defaultCalendar?.id ?? calendars[0]?.id;selectCalendarsWithPrompt() Il est disponible sur iOS lorsque vous souhaitez afficher le sélecteur de calendrier système.
Créer un rappel iOS
Section intitulée “Créer un rappel 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', });}Les API de rappel sont uniquement disponibles sur iOS.
Exemple d'application
Section intitulée « Exemple d'application »Le dépôt comprend un exemple d'application Capacitor avec des contrôles d'autorisation, la création d'événements, des invitations d'événements natives, une liste de calendrier et une liste d'événements de plage.
| IOS | Android |
|---|---|
![]() | ![]() |
Référence API
Section intitulée « Référence API »La référence complète API est maintenue dans le fichier README et les définitions TypeScript :

