【发布时间】:2018-01-11 13:26:33
【问题描述】:
我在 Google Drive API、服务帐户和身份验证方面遇到了一些问题。我读了很多,但我不知道如何解决这个问题。
上下文:我的云端硬盘帐户中有一些文件(大约 35GB)和一个简单的网络应用程序,用户可以登录,查看我的云端硬盘中的一些选定文件夹/文件,并在需要时下载它们。 唯一可以直接访问我的云端硬盘帐户的是(或应该是)我的服务器,用户通过网络应用程序/服务器完成他们的工作。
经过一番搜索,我发现 server-to-server authorization docs 应该非常适合我的目的,但是,正如我所见,服务帐户不共享相同的云端硬盘空间:他们有自己的空间,而且不可升级。由于这个(奇怪的)限制,我无法使用服务帐户,因为我有超过 35GB 的空间,我需要“共享”所有内容。
其他方式:使用“标准”OAuth 来获取访问令牌,然后使用它来调用 Drive API,但访问令牌有一个过期日期,我不能每次都手动更新它。
那么,第一个问题:有没有办法增加服务帐户的配额?如果没有,是否有办法像服务帐户一样使用我的“普通”帐户(所有者)?
第二个(虚拟)问题:我阅读了有关creating new OAuth credentials 的文档,最后您获得了一些示例代码和“客户端机密”JSON。我运行了这个例子,但我不明白那个 JSON 文件的作用是什么:无论如何我必须登录并授予权限,我为什么需要它?
第三个(足够愚蠢的)问题:如果 OAuth 是唯一的解决方案,有没有一种方法可以获取/刷新访问令牌,而无需每次都手动进行?我查看了 OAuth 文档,“用户交互/确认”是身份验证流程中的基本内容之一,所以我认为这是不可能的。
【问题讨论】:
-
太棒了!之前没找到,我就这样试试,看看会发生什么……非常感谢!
标签: google-drive-api google-oauth service-accounts