我刚刚在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能够发送某种推送通知,表明新帐户已添加到帐户中。
我可以以编程方式强制执行吗?或者仅仅是时间问题?
答案 0 :(得分:1)
Syncselect仅影响iCalendar,iOS和其他CalDAV客户端。它不适用于Android。在那里,日历同步的切换在设备上,AFAIK需要手动完成。