我有一个使用Google Drive的应用程序,它必须(a)不需要用户登录,(b)填充授权用户可以查看的文档。
正因为如此,使用常规帐户作为服务帐户似乎是我唯一的选择,如下所述https://developers.google.com/drive/web/service-accounts
使用常规谷歌帐户作为应用程序拥有的帐户
你可以像任何用户一样创建一个常规的谷歌帐户通过Google帐户注册流程或在上创建帐户您的谷歌应用程序域。确保它永远不会被实际用户使用个人,但只能通过您的申请。
要能够以编程方式访问帐户的驱动器,您需要手动遍历OAuth 2.0 web服务器流一次,然后存储或将用户的凭据(如刷新令牌)硬编码为能够以编程方式访问其驱动器。有关的详细信息有关Drive的web服务器流,请参阅实现服务器端批准
虽然它不鼓励用户访问,但它并没有禁止它。然而,我对这条线感到困惑
您需要手动遍历OAuth 2.0 web服务器流一次,然后然后存储或硬编码用户的凭证
似乎没有记录在案的方法来做到这一点(是的,我已经搜索过了)——有人能帮我吗?
您不使用常规帐户作为服务帐户,这是不同的。每一个都是一种应用程序拥有的帐户。
常规帐户只是应用程序使用的普通谷歌帐户。由于常规帐户需要手动授权步骤(进入浏览器、登录谷歌并授权您的应用程序),因此您需要在第一次手动执行此操作,然后保存令牌。这一页有一些例子。保存令牌后,您的应用程序可以在不需要您干预的情况下自行授权。
服务帐户是一个与用户无关且不需要手动授权的帐户。您可以在开发者控制台中创建一个服务帐户,如下所述。使用这种类型的帐户,您可以使用私钥文件来授权您的应用程序。
除非您需要访问将管理您的文件的帐户的web界面(例如,购买更多存储空间),否则我建议使用服务帐户,因为它不需要手动步骤。