我正在使用Google开发一个web后端。为了获得用户的电子邮件地址,您必须将访问令牌发送到Google tokenInfo服务,该服务将返回一般信息(包括电子邮件地址)。通常,Google不会返回登录用户的邮件地址。
我正在做一个Scala项目,我正在使用Google提供的Java库。我找到了这个例子,它向我展示了如何获取有关访问令牌的信息。
我查看了示例项目的.pom文件,其中包含了"google-api-services-oauth2“工件。我也想包括这个,并找到了各自的Maven项目。
对于Google,有一个通用的Java ("com.google.api-client“%”google 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包的建议,我不知道为什么它不编译。
发布于 2015-05-09 06:35:35
一切看起来都是正确的。我认为您只需要在shell中运行reload
来获取build.sbt
中的依赖项。或者重新启动sbt。
https://stackoverflow.com/questions/30140065
复制