Google日历:在我的Google帐户中同步最近创建的日历

时间:2015-05-06 09:42:41

标签: oauth calendar google-calendar-api google-oauth android-calendar

我刚刚在Scala Webframework中使用Google Calendar Java API,并设法以编程方式创建新日历。之后,我在该日历中创建了一个新事件。

我的问题是,新日历中的事件似乎与我的客户端设备(我的平板电脑)无法同步。但是,如果我在我的" primary"日历,我立刻在我的所有设备上看到了这个事件。

如果我转到https://www.google.com/calendar/syncselect,则会检查最近创建的日历。所以实际上我希望所有事件都能在我的设备上同步。

我在Scala上下文中使用JAVA API:

def addCalendar(serviceCalendar: com.google.api.services.calendar.Calendar): com.google.api.services.calendar.model.Calendar = {

    val calendar = new Calendar()
    calendar.setSummary("test calendar")
    serviceCalendar.calendars().insert(calendar).execute()
  }
 //...



 //code fragment where a new event is inserted into an existing calendar
 val credential = new GoogleCredential().setAccessToken(token.get.value)
 val calendar = Auth.getCalendarService(credential)
 //create a new test calendar
 val testCalendar = addCalendar(calendar)
 val event = createEvent

 //insert new event into "primary" calendar.
 calendar.events().insert("primary", event).execute()
 //insert event into the new calendar
 calendar.events().insert(testCalendar.getId(), event).execute()

这两个事件都会显示在Google日历网络界面中。但是只有" primary"日历已同步。

如果我查看"日历列表"在我的Android(Samsung S Planner,Android 4.3。)应用程序中,我没有看到最近创建的日历为"同步"。 (主日历标记为同步!)。

所以我猜这就是为什么我会看到"主要事件"但不是另一个。但实际上,我希望Google能够发送某种推送通知,表明新帐户已添加到帐户中。

我可以以编程方式强制执行吗?或者仅仅是时间问题?

1 个答案:

答案 0 :(得分:1)

Syncselect仅影响iCalendar,iOS和其他CalDAV客户端。它不适用于Android。在那里,日历同步的切换在设备上,AFAIK需要手动完成。