【问题标题】:How to import Drive API Client Library for Java and Google Sheets API version 3.0如何导入适用于 Java 和 Google Sheets API 3.0 版的 Drive API 客户端库
【发布时间】:2015-02-06 02:09:14
【问题描述】:

经过数周的文档和大量论坛的努力,我发现了如何同时使用 Drive API Client Library for Java 和 Google Sheets API。我觉得特别是针对 android 的文档非常缺乏,所以我认为发布一篇解释如何为 Android 导入 API 的帖子会很有用。这是我希望在我开始使用这两个库时能找到的帖子,我希望这对可能遇到我问题的人有所帮助..

【问题讨论】:

标签: java android google-drive-api google-spreadsheet-api


【解决方案1】:

注意:这仅适用于 Android,并针对 Android Studio。下面描述的配置是我正在使用的,尽管可能包含一些不必要的文件,但它仍然可以工作。
因此,首先,导入这两个 APIS 将提供的功能是访问用户 Google Drive,并在该帐户上编辑 Google 电子表格。适用于 Android 的 Drive API 有两个“版本”,一个是专门为 Android 制作的,另一个是为任何 Java 环境制作的。尽管专为 Android 设计的应用更简单易用,并且与 Android 集成得更好,但它有一个主要缺点。
Note: The Google Drive Android API currently only supports drive.file and drive.appfolder authorization scopes. If your application requires additional permissions or features not yet available in the Drive Android API, you must use the Google APIs Java Client.
这意味着您的应用只能访问和编辑它自己创建的文件,因此我选择使用 Google APIs Java Client。至于Google Sheets API,没有真正的替代版本,只有它自己。
现在我最困难的时候是试图找出我需要导入哪些文件,这方面的文档很模糊,所以这里是需要的文件。
将所有这些文件放在应用程序的app\libs 目录中。
使用适用于 Java 的 Drive API 客户端库
第一个“Download the Drive API v2 Client Library for Java.”在readme.html 中描述了 android 需要哪些依赖项。
使用以下 jar。

`google-api-client-android-1.19.1.jar (for SDK >= 2.1)
 google-http-client-android-1.19.0.jar 
 gson-2.1.jar
 protobuf-java-2.4.1.jar`


还包括 google-api-services-drive-v2-rev161-1.19.1.jar

要使用 Google Sheets API 3.0 版
here 下载 gdata 库,这包括 spreadhseet jar 和其他 gdata 库例如地图、金融、文档、日历等。
在 gdata\java\lib 中使用以下文件。

`

    gdata-client-meta-1.0.jar
    gdata-core-1.0.jar
    gdata-spreadsheet-3.0.jar
    gdata-spreadsheet-meta-3.0.jar
    google-api-client-1.19.1.jar
    google-api-client-android-1.19.1.jar
    google-api-services-drive-v2-rev158-1.19.1.jar
    google-http-client-1.19.0.jar
    google-http-client-android-1.19.0.jar
    google-http-client-gson-1.19.0.jar
    google-oauth-client-1.19.0.jar
    guava-18.0.jar
    jackson-core-2.1.3.jar
    jackson-core-asl-1.9.11.jar
    jsr305.jar
    protobuf-java-2.4.1.jar
    gdata-base-1.0.jar
    gdata-client-1.0.jar

` 


下载javamail,这是专门为android制作的`

mail.jar 
activation.jar 
activation.jar`



现在您的 app\lib 目录中已包含所有这些内容,您的 build.gradle 应包含以下内容(您自己添加这些内容):`

compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/gdata-base-1.0.jar')
compile files('libs/gdata-client-1.0.jar')
compile files('libs/gdata-client-meta-1.0.jar')
compile files('libs/gdata-core-1.0.jar')
compile files('libs/gdata-spreadsheet-3.0.jar')
compile files('libs/gdata-spreadsheet-meta-3.0.jar')
compile files('libs/google-api-client-1.19.1.jar')
compile files('libs/google-api-client-android-1.19.1.jar')
compile files('libs/google-api-services-drive-v2-rev158-1.19.1.jar')
compile files('libs/google-http-client-1.19.0.jar')
compile files('libs/google-http-client-android-1.19.0.jar')
compile files('libs/google-http-client-gson-1.19.0.jar')
compile files('libs/google-oauth-client-1.19.0.jar')
compile files('libs/gson-2.1.jar')
compile files('libs/guava-18.0.jar')
compile files('libs/jackson-core-2.1.3.jar')
compile files('libs/jackson-core-asl-1.9.11.jar')
compile files('libs/jsr305.jar')
compile files('libs/mail.jar')
compile files('libs/protobuf-java-2.4.1.jar')` 


最后一步!
由于这些导入的 jars 有大量的方法,我们需要使我们的应用程序具有多 dexable 功能,这个过程非常简单,并在下面进行了描述here.完成此操作后,您就可以开始使用 Drive 和 Spreadsheets API,如果您发现此投票有用,其他人可以看到!

【讨论】:

  • 这是关于您将哪些库导入到您的项目中,但它并没有真正解释这些库是如何连接在一起的。例如,您可以在设备本地制作电子表格并在没有网络连接的情况下访问它。你能用上面的 API 完成这个吗?如果能够编辑本地电子表格并让 Android 自己的云端硬盘功能负责云同步,那就太好了。
  • 正如你所说,这篇文章是关于要导入哪些 jar 的,我从来没有打算让这篇文章成为关于如何使用相应 API 或详尽列出它们的功能的文章。如果您想了解有关 API 的更多信息,我认为所有必要的文档都可用,它们在我的答案中链接。
  • 奇怪的是,当我访问你提到的 Sheets API v3 的 gdata 库链接时,我发现了旧版本的 jars(比如 gdata-spreadsheet-1.0.jar 而不是 gdata-spreadsheet-3.0.jar)。官方表格 API 文档中提供了相同的链接。它导致了很多“方法未找到错误”:(直到看到这篇文章我才找到原因。其他人请确保您使用的是最新版本的 jars!
  • 这里是最新电子表格 api jar 的链接 - storage.googleapis.com/gdata-java-client-binaries/…
  • 如果你的 gradle 构建文件中有这样的东西,你不需要枚举你放在 lib 文件夹中的所有内容:compile fileTree(dir: 'libs', include: ['*.jar'])(至少现在实际上是默认的)跨度>
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-01
  • 2015-02-22
  • 1970-01-01
  • 2021-07-15
相关资源
最近更新 更多