How to get national holidays of selected country

后端 未结 2 993
孤街浪徒
孤街浪徒 2020-11-29 20:25

I\'m writing an app that allows the user to select a country from a list. When they pick a country, a list of national holidays of that country appears.

I\'ve seen

相关标签:
2条回答
  • 2020-11-29 21:12

    Problem solved by using Google Calendar API V3. The idea I found from this post. The holiday can get from default holiday calendar of google.

    The ID list of default holiday calendar can be found here, support to 40 country.

    A piece of code that handle permission and get holiday list:-

    com.google.api.services.calendar.Calendar client = null;
            credential = GoogleAccountCredential.usingOAuth2(mContext, CalendarScopes.CALENDAR);
            credential.setSelectedAccountName(mList.get(0));
            client = getCalendarService(credential);
            do {
                com.google.api.services.calendar.model.Events events;
                events = client.events().list("en.usa#holiday@group.v.calendar.google.com").setPageToken(pageToken).execute();
                onHolidayChecked(events.getItems()); //result return here (events.getItems())
                pageToken = events.getNextPageToken();
            } while (pageToken != null);
    
    private com.google.api.services.calendar.Calendar getCalendarService(GoogleAccountCredential credential) {
        return new com.google.api.services.calendar.Calendar.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build();
    }
    
    0 讨论(0)
  • 2020-11-29 21:15

    The CalendarProvider documentation states that it only provides the current user's calendar information.

    The Calendar Provider is a repository for a user's calendar events. The Calendar Provider API allows you to perform query, insert, update, and delete operations on calendars, events, attendees, reminders, and so on.

    You will need to access a third-party API (this one, for example) and load that information into your application.

    0 讨论(0)
提交回复
热议问题