【问题标题】:Accessing Google Drive like server?访问 Google Drive 之类的服务器?
【发布时间】:2015-03-05 01:17:51
【问题描述】:

目前我正在开发一个需要一些集中式云存储位置的 Android 应用程序,例如,客户下载我的应用程序,在输入他们的用户 ID 后,该应用程序将下载他们的相关信息,即姓名、用户历史记录或任何任意一小段信息。

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

Drive API 可以实现我所描述的吗?为了连接到帐户 X 的云端硬盘,正在使用的设备是否必须将其作为用户帐户,还是我必须公开相关文件(在共享选项中)才能使用?

【问题讨论】:

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


    【解决方案1】:

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

    没有。

    您需要的是帐户 X 的访问令牌。获得该令牌后,您可以针对帐户 X 执行云端硬盘操作。诀窍在于如何获取该访问令牌。可能性(非建议)包括:-

    • 在您的应用中嵌入帐户 X 的刷新令牌
    • 在服务器应用程序中嵌入帐户 X 的刷新令牌,您的 Android 应用程序调用它来获取访问令牌
    • 使用服务帐号

    【讨论】:

    • 这样做不是一个好主意,因为您的 gdrive 可能会被黑客入侵。如果同时有许多用户使用它,它也会失败。
    • 随意发布暴露您提到的风险的具体场景
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多