Search code examples
react-nativeexpoexpo-calendar

Expo-Calendar Permissions


I am trying to use Expo-calendar in my project.

I want to use the Calendar.createEventAsync(calendarId, details) which is working fine when it has both Calendar and Reminder permission.

However, my concern is about the Reminder-permission.

I use Calendar.getDefaultCalendarAsync() for getting the default calendar-id and then I use Calendar.createEventAsync() method to just create an event in Calendar.

I don't want to use Reminder, why do I need reminder permission(for ios)? Is there any way that I can just ask for Calendar permission for creating an event?

This is the documentation in Expo: Expo Calendar


Solution

  • The solution is to use:

     return await Calendar.getCalendarsAsync(Calendar.EntityTypes.EVENT);
    }```
    
    and then trying to create an Event:
    
    async function createEvent() {
     try {
       const defaultCalendar = await Calendar.getDefaultCalendarAsync();
    
       await Calendar.createEventAsync(defaultCalendar.id, {
         title: 'TEST',
         startDate: new Date('2021-01-25'),
         endDate: new Date('2021-01-26'),
       });
    
       console.log('Event was created.');
     } catch (e) {
       console.log(e.message);
     }
    }