谷歌日历API V3 android-获取freeBusyRequest的全天活动

谷歌日历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

我正在尝试使用谷歌api服务日历获取谷歌组织内其他人的忙/闲数据:Android版本的v3(使用Kotlin)。我得到的时间正好适合有固定持续时间的活动。但是全天的活动并没有出现在名单上。关于这方面的文档几乎找不到,我在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()
                 // ...
             }
         }
// ...
/。。。
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实际上没有任何问题。这是一个让一整天的活动忙得不可开交的环境

默认情况下,这被设置为空闲,这使得它不会显示为繁忙时间,这是有意义的。很多人都没有注意到这一点,他们将在那天“免费”