4

我想使用 Google Drive 作为我的 Django 项目的存储(特别是我需要存储用户拍摄的图像)。我想要达到的目标如下:

  • 用户使用表单上传他们的图像。这些文件必须以某种方式通过 Django 路由,后者使用 Google Drive API 将它们重定向到 Google Drive。我不直接从用户的浏览器将文件发送到 Google Drive 的原因是我应该在客户端存储访问 Google Drive API 的密钥(当然,最终用户不能直接访问)。

  • 上传后,我必须能够在我的网站上的图库中显示图像。

到目前为止,我已经阅读了 Google Drive API 文档,特别是,我已经成功完成了使用 OAuth2 进行服务器到服务器应用程序的快速入门,请参见此处快速入门涵盖了将文件上传到用户的 Google Drive 文件夹的情况,所以那里是我不需要的用户身份验证的中间步骤;相反,我使用服务帐户来授权我的 api 请求)。

附带问题:

  • 有没有办法以可浏览的方式访问用户通过 API 上传到 Google Drive 的文件列表,或者 API 是他们的唯一接口?我可以使用类似于我自己的 Google Drive 帐户的 UI 访问它们吗?

  • 另外,我是谷歌服务的新手,开发者控制台在我看来是一团糟……我不明白我有多少磁盘空间可用,以及这个存储空间如何/是否与我自己的 Google Drive 帐户相关。

4

1 回答 1

1

有没有办法以可浏览的方式访问用户通过 API 上传到 Google Drive 的文件列表,或者 API 是他们的唯一接口?我可以使用类似于我自己的 Google Drive 帐户的 UI 访问它们吗?

最简洁的答案是不。服务帐户专门供其“拥有”的应用程序访问。但是,如果这很重要,您可以使用文件夹共享来 (1) 使服务帐户数据在常规帐户的 UI 中可见,或 (2) 允许您的应用写入常规帐户的文件夹通过共享文件夹。请注意,无论哪种方式,文件都会消耗服务帐户的配额,而不是普通帐户。

另一种选择是根本不使用服务帐户,并使用普通帐户进行所有操作。

我不知道有多少磁盘空间可供我使用,以及该存储空间如何/是否与我自己的 Google Drive 帐户相关。

最简单的方法是使用 About.get ( https://developers.google.com/drive/v3/reference/about/get ) 来获取您的限制和使用的配额。服务帐户是一个独立帐户,与您用于创建它的常规帐户没有任何关系(至少在存储和访问方面)。

于 2017-02-19T00:59:04.657 回答