从其他用户日历获取事件

时间:2019-10-27 19:43:43

标签: kotlin google-calendar-api

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

1 个答案:

答案 0 :(得分:0)

设法解决这个问题,这要感谢Google的文件编制。

val user_email = "no_body@gmail.com"
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中的上述代码有疑问,请打我,我会很乐意为您提供帮助:-)