首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得选定国家的国庆节

如何获得选定国家的国庆节
EN

Stack Overflow用户
提问于 2013-09-25 05:01:33
回答 2查看 30.5K关注 0票数 18

我正在编写一个应用程序,允许用户从列表中选择一个国家。当他们选择一个国家时,就会出现一个国家的国庆节清单。

我见过CalendarProvider谷歌日历V3,但它们似乎只提供当前用户的日历。

我怎样才能得到一个特定国家的国庆节?任何建议都会对我有帮助。

更新:

我找到了这个职位,它可以获得JSON格式的假日列表。在本例中,国家代码由日历ID (例如pt_br.brazilian#holiday@group.v.calendar.google.com或en.usa#holiday@group.v.calendar.google.com )定义。

但我找不到任何这方面的文件。以这种方式使用API可以吗?如果是的话,我在哪里可以得到这些日历身份证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-27 10:11:31

使用V3解决问题。我从这个职位那里找到的想法。这个假期可以从谷歌的默认假日日历中获得。

默认假日日历的ID列表可以找到这里,支持40个国家。

处理许可并获得假日列表的代码:-

代码语言:javascript
运行
复制
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();
}
票数 27
EN

Stack Overflow用户

发布于 2013-09-25 05:12:23

CalendarProvider文档声明它只提供当前用户的日历信息。

Calendar提供程序是用户日历事件的存储库。日历提供程序API允许您对日历、事件、与会者、提醒等执行查询、插入、更新和删除操作。

您将需要访问第三方API (例如这一个)并将该信息加载到应用程序中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18996577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档