像服务器一样访问Google云端硬盘?

时间:2015-03-05 01:17:52

标签: android google-app-engine google-drive-api

目前,我正在开发一款需要一些集中式云端存储位置的Android应用,例如客户下载我的应用,输入用户ID后,应用会下载相关信息,即名称,用户历史记录或任意一小段信息。

由于我一直在使用Google Drive API,我认为我只需设置帐户X来托管所有客户信息(这些信息都不敏感),可能是JSON格式,然后每当有人下载​​时我的应用程序将连接到帐户X,并从帐户X的Google云端硬盘中提取相关信息。我遇到的问题是,在将帐户X作为用户帐户的设备上工作正常但是当我尝试在没有帐户X作为用户帐户的设备上连接时应用程序崩溃。

我在Drive API中描述的内容是什么?要连接到帐户X的驱动器,使用中的设备是否必须将其作为用户帐户,或者我是否必须公开相关文件(在共享选项中)才能使用?

2 个答案:

答案 0 :(得分:0)

为了连接帐号X的云端硬盘,使用中的设备是否必须将其作为用户帐户?

没有

您需要的是帐户X的访问令牌。一旦您拥有该帐户,就可以针对帐户X执行云端硬盘操作。诀窍是如何获得该访问令牌。可能性(不是推荐)包括: -

  • 在您的应用中为帐户X嵌入了刷新令牌
  • 在服务器应用中嵌入了帐号X的刷新令牌,Android应用调用该服务器应用以获取访问令牌
  • 使用服务帐户

答案 1 :(得分:0)

很多!您永远不应该从不属于该用户的帐户公开访问令牌。这打破了oauth协议的目的。如果访问令牌不是用户驱动器,那么它永远不应该离开服务器端。 除非您使用特定于文件的范围(此问题没有),否则令牌也可以删除整个驱动器。不好。