Google API:对象oauth2不是com.google.api.services

时间:2015-05-09 12:42:20

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

我正在使用Google API开发网络后端。 要获取用户的电子邮件地址,您必须将访问令牌发送到Google令牌信息服务,该服务将返回一般信息(包括您的电子邮件地址)。通常,Google API不会返回登录用户的邮件地址。

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

我查看了示例项目的.pom文件,其中包含“google-api-services-oauth2”工件。我还希望包含此内容并找到respective Maven project

对于Google API,提供了一个通用的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包的建议,我不知道为什么它不能编译。

1 个答案:

答案 0 :(得分:3)

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