Tai*_*Dao 16 android calendar google-calendar-api android-calendar
我正在编写一个允许用户从列表中选择国家/地区的应用.当他们选择一个国家时,会出现该国家的国家法定假日列表.
我见过CalendarProvider和Google Calendar V3,但它们似乎只提供当前用户的日历.
我怎样才能获得特定国家的国定假日?任何建议都会对我有所帮助.
更新:
我发现这篇文章可以获得JSON格式的假期列表.在此示例中,国家/地区代码由日历ID定义,例如pt_br.brazilian#holiday@group.v.calendar.google.com或en.usa#holiday@group.v.calendar.google.com.
但我找不到任何关于此的文件.是否可以这种方式使用API?如果是,我在哪里可以获得这些日历ID?
Tai*_*Dao 25
使用Google Calendar API V3解决了问题.我在这篇文章中找到的想法.假期可以从谷歌的默认假日日历中获得.
可在此处找到默认假日日历的ID列表,支持40个国家/地区.
处理权限并获取假期列表的一段代码: -
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24932 次 |
| 最近记录: |