【问题标题】:Codename One: Use Google Calendar代号一:使用谷歌日历
【发布时间】:2017-03-14 14:38:59
【问题描述】:

我想在登录后访问用户的 Google 日历,因为我想在我的 Apps 事件类中镜像某些标记的事件。

我想Google Calendar API Java Library不能在这里简单地使用,所以我被Codename One Support发送到this Library

有没有人有这个库的经验或代码示例? 如果没有这个库,你们是如何处理对 Google Calendar API 的访问的?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    我在这方面做了一些初步工作,但没有跟上其他作者所做的更改,所以我不能说我对这个库有实际经验......

    从代码中这样的东西应该可以工作:

    DeviceCalendar dc = DeviceCalendar.getInstance();
    if(!dc.hasPermissions()) {
        // show message 
        return;
    }
    String calName = Preferences.get("selectedCalendar", null);
    if(calName == null) {
        Collection<String> calendarNames = dc.getCalendars()
        calName = promptUserToPickCalendar(calendarNames);
        if(calName == null) {
           return;
        }
        Preferences.set("selectedCalendar", calName);
    }
    String calId = dc.openCalendar(calName, false);
    Collection<EventInfo> events = dc.getEvents(calId, startDate, endDate);
    // merge your events then use removeEvent/saveEvent respectively to apply your changes
    

    【讨论】:

    • 要在 Android 上运行,您需要添加此构建提示 android.xpermissions=&lt;uses-permission android\:name\="android.permission.READ_CALENDAR"/&gt; &lt;uses-permission android\:name\="android.permission.WRITE_CALENDAR"/&gt;
    • 更正:android.xpermissions=&lt;uses-permission android:name="android.permission.READ_CALENDAR"/&gt; &lt;uses-permission android:name="android.permission.WRITE_CALENDAR"/&gt;
    • 这是用于使用 Android 设备日历还是我可以在 iOS 上使用它从​​某人的谷歌日历中获取数据? DeviceCalendar.getInstance();看起来更像是使用操作系统的日历,而不是来自谷歌帐户的日历,有人知道吗?
    • 是的,它使用操作系统日历,而不是明确地使用 Google 的日历。通常在 iOS 上,如果我是 Google 日历用户,我会将本机操作系统绑定到 Google 日历同步。谷歌日历没有明确的支持,但你可以通过网络服务让它工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2016-04-15
    相关资源
    最近更新 更多