2017-08-03 212 views
0

我已经与谷歌云端硬盘API,服务帐户和身份验证的一些问题。我红了很多,但我无法弄清楚如何解决这个问题。谷歌云端硬盘API,OAuth且服务帐户

语境:我有我的硬盘帐户(约35GB)和一个简单的Web应用程序,其让用户登录,看到我的硬盘选择一些文件夹/文件,并根据需要将它们下载一些文件。 唯一可以直接访问我的云端硬盘帐户的人是(或者应该是)我的服务器,用户通过网络应用/服务器完成他们的工作。

经过一番搜索后,我发现服务器到服务器的文档(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文档,并且“用户交互/确认”是auth流程中的基本功能之一,所以我不认为是可能的,但是...

如果需要,我可以发布一些代码和/或示例。

非常感谢您的帮助!

+1

看到https://stackoverflow.com/questions/19766912/how-do-i-authorise-an-app-web-or-installed-without-user-intervention-canonic – pinoyyid

+0

太棒了!我没有找到它,我会试着这样,让我们​​看看会发生什么...非常感谢! – devfe

回答

0

分享您的硬盘帐户的文件夹到您的服务帐户。
您的服务帐户地址看起来像[email protected]
然后您的服务帐户可以查看您的云端硬盘帐户中的共享文件夹。
所以你有35GB的服务帐户。

相关问题