Google Calendar API V3安卓 - 获取freeBusyRequest的全天活动

Ray*_*oix 5 android google-calendar-api kotlin

我正在尝试使用google-api-services-calendar:v3 for Android(使用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()
                 // ...
             }
         }
// ...
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,我如何获得全天活动?

Ray*_*oix 6

经过一番搜索,我发现API实际上没有任何问题。这是一个忙碌一整天的活动的场所。

默认情况下,它设置为空闲,这使得它不会显示为繁忙时间,这是有道理的。很多人都没有注意到这一点,他们在那一天将获得“自由”。在此输入图像描述