谷歌日历API V3 android-获取freeBusyRequest的全天活动
我正在尝试使用谷歌api服务日历获取谷歌组织内其他人的忙/闲数据:Android版本的v3(使用Kotlin)。我得到的时间正好适合有固定持续时间的活动。但是全天的活动并没有出现在名单上。关于这方面的文档几乎找不到,我在developers.google.com上找到的东西包含2013年被弃用的代码谷歌日历API V3 android-获取freeBusyRequest的全天活动,android,kotlin,google-calendar-api,Android,Kotlin,Google Calendar Api,我正在尝试使用谷歌api服务日历获取谷歌组织内其他人的忙/闲数据:Android版本的v3(使用Kotlin)。我得到的时间正好适合有固定持续时间的活动。但是全天的活动并没有出现在名单上。关于这方面的文档几乎找不到,我在developers.google.com上找到的东西包含2013年被弃用的代码 // ... val busyTimesList = mutableListOf<AgendaPlotter.TimeSpan>() SessionService.sharedI
// ...
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()
// ...
}
}
// ...
/。。。
val busyTimeList=mutableListOf()
SessionService.sharedInstance.getGoogleAccount(活动)
observeOn(Schedulers.io())
.订阅{
mCredential!!.selectedAccount=it.account
val request=FreeBusyRequest()
val durationCal=Calendar.getInstance()
durationCal.time=startDay.time
日历.开始日期(持续时间)
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
试一试{
val query=mService!!.freebusy().query(请求)
//使用部分GET仅检索所需字段。
query.fields=“日历”
busyTimes=query.execute()
繁忙时间、日历、时间{
it.toPair().second.busy.forEach{timeSpan->
val busyTime=AgendaPlotter.TimeSpan()
busyTime.fromTime.timeInMillis=timeSpan.start.value
busyTime.toTime.timeInMillis=timeSpan.end.value
busyTimeList.add(busyTime)
}
}
emitter.onNext(busyTimeList)
}捕获(e:IOException){
e、 printStackTrace()
// ...
}
}
// ...
因此,我的问题是,如何获得全天事件?经过一番搜索后,我发现API实际上没有任何问题。这是一个让一整天的活动忙得不可开交的环境 默认情况下,这被设置为空闲,这使得它不会显示为繁忙时间,这是有意义的。很多人都没有注意到这一点,他们将在那天“免费”