首页 文章

Google Drive API,Oauth和服务帐户

提问于
浏览
4

我在使用Google Drive API,服务帐户和身份验证时遇到了一些问题 . 我读了很多,但我无法弄清楚如何解决这个问题 .

上下文:我的 Cloud 端硬盘帐户上有一些文件(约35GB)和一个简单的网络应用程序,用户可以登录,查看我的驱动器中的一些选定的文件夹/文件,并在需要时下载它们 . 唯一可以直接访问我的 Cloud 端硬盘帐户的是(或应该是)我的服务器,用户通过网络应用/服务器进行操作 .

经过一番搜索,我发现server-to-server authorization docs应该是完美的我的目的,但我可以看到,服务帐户不共享相同的驱动器空间:他们有自己的,它不可升级 . 由于这个(奇怪的)限制我不能使用服务帐户,因为我有超过35GB,我需要"share"一切 .

其他方式:使用“标准”OAuth以获取访问令牌,然后使用它来调用Drive API,但访问令牌有一个过期日期,我无法每次手动更新它 .

所以,第一个问题:有没有办法增加服务帐户的配额?如果没有,是否有办法使用我的“普通”帐户(所有者)充当服务帐户?

第二个(虚拟)问题:我阅读了有关creating new OAuth credentials的文档,最后您获得了一些示例代码和"client-secret" JSON . 我运行示例但我不明白该JSON文件的作用是什么:我必须登录并给予许可,我为什么需要它?

第三个(虚拟的)问题:如果OAuth是唯一的解决方案,是否有办法获取/刷新访问令牌而不是每次都手动执行?我查看了OAuth文档,“用户交互/确认”是auth流程中的基本内容之一,所以我认为不可能 .

1 回答

  • 10

    将您的 Cloud 端硬盘帐户的文件夹共享到您的服务帐户 .
    您的服务帐户地址类似于XXX@XXX.iam.gserviceaccount.com .
    然后,您的服务帐户可以看到 Cloud 端硬盘帐户中的共享文件夹 .
    所以你有35GB的服务帐户 .

相关问题