从其他用户日历获取事件

问题描述 投票:0回答:1

我正在Kotlin中构建一个应用程序,该应用程序将管理服务提供商和客户(例如,梳妆台)之间的约会。我想从客户端的应用中读取服务提供商在其Google日历中的事件。即,客户想要选择一个约会,他选择了我想要的东西之后,我想给他一份当日可用的约会清单,为此我需要获取当天/周/月的服务提供者的事件。如何使用Kotlin做到这一点?

kotlin google-calendar-api
1个回答
0
投票

没有Google的帮助,设法解决了这个问题。

val user_email = "[email protected]"
const val READ_EVENTS_SCOPE = "https://www.googleapis.com/auth/calendar"
val appName = this.applicationInfo.packageName
var jsonPrivateKeyFile = resources.openRawResource(resources.getIdentifier("json_key", "raw", packageName)
GoogleCredential.fromStream(jsonPrivateKeyFile).createScoped(Collections.singleton(READ_EVENTS_SCOPE))
var builder = Calendar.Builder(httpTransport, jsonFactory, getCredential())
builder.applicationName = appName
val GoogleCalendarAPI = builder.build()
val event_list = GoogleCalendarAPI?.events()?.list(user_email)

用户的事件将在event_list中。重要事项:

  • 在用户的gmail日历中,在设置的共享部分中,添加您创建的服务帐户的电子邮件。
  • 向服务帐户添加广泛的全局委派。
  • 下面的代码应该在不同于GUI线程的线程内完成,否则将失败。

[如果有人对Kotlin中的上述代码有疑问,请打给我,我会很乐意帮助您:-)

© www.soinside.com 2019 - 2024. All rights reserved.