google-api - 谷歌 API : object oauth2 is not a member of package com. google.api.services

标签 google-api playframework-2.0 sbt google-api-java-client google-api-client

我正在使用 Google API 开发网络后端。 为了获取用户的电子邮件地址,您必须将访问 token 发送到 Google tokenInfo 服务,该服务将返回一般信息(包括您的电子邮件地址)。一般来说,Google API 不会向您返回已登录用户的邮件地址。

我正在做一个 Scala Play 项目,并且正在使用 Google 提供的 Java 库。我找到了this example这向我展示了如何获取有关我的访问 token 的信息。

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

对于 Google API,有一个可用的通用 Java API ("com.google.api-client"% "google-api-client"% "1.20.0"),所有其他库(包括云端硬盘和日历 API)均基于该 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。

关于google-api - 谷歌 API : object oauth2 is not a member of package com. google.api.services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140065/

相关文章:

scala - SBT - 不要将发布名称中的点替换为连字符

java - 复制 Google Cloud Storage 中的对象

java - 使用 Google Cloud Storage 的客户端库可恢复上传

scala - 发布到 Apache Archiva 被服务器拒绝并在 SBT 中显示“未经授权”?

playframework-2.0 - 从绑定(bind)空对象 : RuntimeException: java. lang.reflect.InvocationTargetException

mongodb - Salat 在运行 Play Framework 应用程序中无法序列化,但在控制台中工作正常

sbt - 如何定义新的解析器?

ios - 如何从 gmail api 获取建议/自动完成的电子邮件?

javascript - 跨域请求被阻止,origin 'null' 无法访问

scala - Play 框架中 Futures 上的 Cache.getOrElse