Google Drive API,Oauth和服务帐户
我在Google Drive API,服务帐户和身份验证方面遇到了一些问题。 我红了很多,但我无法弄清楚如何解决这个问题。
上下文:我的云端硬盘帐户(约35GB)上有一些文件,并且有一个简单的网络应用程序,可让用户登录,查看我的云端硬盘中的一些选定文件夹/文件,并在需要时下载它们。 唯一可以直接访问我的云端硬盘帐户的人是(或者应该是)我的服务器,用户通过网络应用/服务器完成他们的工作。
经过一番搜索,我发现服务器到服务器的文档(https://developers.google.com/identity/protocols/OAuth2ServiceAccount)应该是完美的,但我可以看到,服务帐户不共享相同的驱动器空间:他们有自己的,并且不可升级。 由于这个(奇怪)的限制,我不能使用服务帐户,因为我有超过35GB,我需要“分享”一切。
其他方法:使用“标准”Oauth以获取访问令牌,然后使用它访问Drive API,但访问令牌具有过期日期,我无法每次都手动更新它。
所以,第一个问题:是否有办法增加服务帐户的配额? 如果没有,如果有办法使用我的“正常”帐户(所有者)的行为像一个服务帐户?
第二个(虚拟)问题:我红色的文档介绍了如何创建新的Oauth凭证(https://developers.google.com/drive/v3/web/quickstart/php),最后您获得了一些示例代码和“客户机密钥” JSON。 我运行该示例,但我不明白该json文件的作用:我必须登录并授予权限,为什么需要它?
第三个(足够模拟的)问题:如果Oauth是唯一的解决方案,是否有办法获取/刷新访问令牌,而无需每次都手动执行? 我查看了Oauth文档,“用户交互/确认”是认证流程中的基本功能之一,所以我认为它不是可能的,但是...
如果需要,我可以发布一些代码和/或示例。
非常感谢你的帮助!
将您云端硬盘帐户的文件夹分享给您的服务帐户。
您的服务帐户的地址看起来像XXX@XXX.iam.gserviceaccount.com。
然后,您的服务帐户可以查看您云端硬盘帐户中的共享文件夹。
所以你有35GB的服务帐户。
上一篇: Google Drive API, Oauth and service account
下一篇: Google Drive SDK