1

在我的应用程序中,我的云服务由谷歌驱动器(以前的谷歌文档)提供以与谷歌文档交互我使用这个库:

http://code.google.com/p/google-api-java-client/

它工作得很好,但要求设备上有 Google API 并设置了谷歌帐户

有没有其他方法可以在不使用这个库的情况下对谷歌文档进行身份验证?还是我必须将我的云提供商迁移到 Dropbox?

谢谢

4

1 回答 1

1

您最好的选择是使用 OAuth 2.0,使用为(部分)为移动设备设计的客户端流程。

基本上,您需要做的是使用 Web 视图并将您的用户重定向到 OAuth 2.0 授权页面,然后在他们授予您访问其数据的权限后,您只需:

  • 在 Web 视图中捕获身份验证代码
  • 关闭网页视图
  • 将身份验证代码交换为刷新和访问令牌
  • 将刷新令牌保留在本地数据库中,因为它使您可以无限制地访问 API => 不再需要触发 Auth 流程。

就是这样!使用新获得的 OAuth 2.0 访问令牌和刷新令牌,您可以获得代表用户访问驱动器数据和使用 API 所需的一切。您已经绕过了 Android 帐户管理器。

甚至可能有一些适用于 Android 的 OAuth 2.0 / Web View 客户端库,这将有很大帮助。

PS:这种技术被广泛使用,例如在 iOS 上如果你使用 Facebook 库,它会首先检查是否安装了 Facebook 应用程序。如果未安装 Facebook 应用程序,它将自动使用 OAuth 2 和 Web View 技术。Google 的 Objective-C 客户端库也使用了这种技术(据我所知,从未使用过)。

于 2012-06-03T00:38:34.640 回答