我正在尝试使用适用于 Android 的 google-api-services-calendar:v3(使用 Kotlin)获取我的 Google 组织内其他人的空闲忙碌数据。对于具有固定持续时间的事件,我得到的时间很好。但是全天事件不会出现在列表中。关于这方面的文档几乎无处可寻,我在 developers.google.com 上找到的内容包含 2013 年弃用的代码...
// ...
val busyTimesList = mutableListOf<AgendaPlotter.TimeSpan>()
SessionService.sharedInstance.getGoogleAccount(activity)
observeOn(Schedulers.io())
.subscribe {
mCredential!!.selectedAccount = it.account
val request = FreeBusyRequest()
val durationCal = Calendar.getInstance()
durationCal.time = startDay.time
Calendars.startOfDay(durationCal)
request.timeMin = DateTime(durationCal.time)
durationCal.add(Calendar.DATE, 1)
request.timeMax = DateTime(durationCal.time)
val requestItems = listOf(FreeBusyRequestItem().setId("email@from.colleague"))
request.items = requestItems
request.timeZone = TimeZone.getDefault().id
val busyTimes: FreeBusyResponse
try {
val query = mService!!.freebusy().query(request)
// Use partial GET to retrieve only needed fields.
query.fields = "calendars"
busyTimes = query.execute()
busyTimes.calendars.forEach {
it.toPair().second.busy.forEach { timeSpan ->
val busyTime = AgendaPlotter.TimeSpan()
busyTime.fromTime.timeInMillis = timeSpan.start.value
busyTime.toTime.timeInMillis = timeSpan.end.value
busyTimesList.add(busyTime)
}
}
emitter.onNext(busyTimesList)
} catch (e: IOException) {
e.printStackTrace()
// ...
}
}
// ...
那么我的问题是,我如何获得全天事件?
最佳答案
经过一些搜索,我发现 API 实际上没有任何问题。这是一整天忙碌的免费 Activity 的设置。
关于android - Google Calendar API V3 android - 免费获取全天事件BusyRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48883417/