Google API: 对象 oauth2 不是包 com.google.api.services 的成员

Google API: object oauth2 is not a member of package com.google.api.services

我正在使用 Google API 开发网络后端。 为了获得用户的电子邮件地址,您必须将访问令牌发送到 Google tokenInfo 服务,该服务将 return 一般信息(包括您的电子邮件地址)。一般来说GoogleAPIs不要return你登录用户的邮件地址。

我正在做一个 Scala Play 项目,我正在使用 Google 提供的 Java 库。我发现 this example 向我展示了如何获取有关我的访问令牌的信息。

我查看了包含 "google-api-services-oauth2" 工件的示例项目的 .pom 文件。我也想包括这个并找到 respective Maven project.

对于 Google APIs 有一个通用的 Java API 可用 ("com.google.api-client" % "google-api-client" % "1.20.0 ") 包括 Drive 和 Calendar API 在内的所有其他库都基于此。由于我也在使用 Google 日历 API 我的 sbt 文件如下所示:

//add Google Calender API
libraryDependencies ++= Seq(
 // "com.google.api-client" % "google-api-client" % "1.20.0",
  "com.google.apis" % "google-api-services-calendar" % "v3-rev121-1.20.0"//,
  //"com.google.api-client" % "google-api-client-java6" % "1.20.0",
  //"com.google.oauth-client" % "google-oauth-client-jetty" % "1.20.0"
)

//tokenInfo endpoint to get email address
libraryDependencies += "com.google.apis" % "google-api-services-oauth2" % "v2-rev91-1.20.0"

但是,如果我尝试创建一个 com.google.api.services.oauth2.Oauth2 对象,我会收到以下错误消息:

object oauth2 is not a member of package com.google.api.services
[error]       com.google.api.services.oauth2.Oauth2
[error]                               ^
[error] one error found
[error] (compile:compile) Compilation failed

我不太明白这个错误,因为示例项目做的完全一样。在 IntelliJ 中我也看到了 oauth2 包的建议,但我不知道为什么它不能编译。

一切看起来都是正确的。我认为你只需要在你的 sbt shell 中 运行 reload 来获取你的 build.sbt 中的依赖项。或者重新启动 sbt.