Javascript 有没有可能有一个单一的谷歌驱动器帐户,让许多用户可以从一个应用程序上传文件?

Javascript 有没有可能有一个单一的谷歌驱动器帐户,让许多用户可以从一个应用程序上传文件?,javascript,google-drive-api,Javascript,Google Drive Api,假设我拥有mainAccount@gmail.com'. 现在,我创建了一个应用程序(不使用服务帐户),它使用一次性授权来获取刷新令牌。然后将该刷新令牌存储在数据库中 接下来,我让其他用户(例如匿名访问者)使用我的应用程序将文件上载到我的google drive存储。每次用户想要上传时,存储的刷新令牌都会用于获取访问令牌(用于授权未经身份验证或甚至可能没有gmail帐户的用户的上传) 我很好奇驱动API是如何解释这种请求的?尤其是当有数百名用户上传文件时。我会达到配额限制吗?我假设API认为1个

假设我拥有mainAccount@gmail.com'. 现在,我创建了一个应用程序(不使用服务帐户),它使用一次性授权来获取刷新令牌。然后将该刷新令牌存储在数据库中

接下来,我让其他用户(例如匿名访问者)使用我的应用程序将文件上载到我的google drive存储。每次用户想要上传时,存储的刷新令牌都会用于获取访问令牌(用于授权未经身份验证或甚至可能没有gmail帐户的用户的上传)


我很好奇驱动API是如何解释这种请求的?尤其是当有数百名用户上传文件时。我会达到配额限制吗?我假设API认为1个gmail帐户=1个用户,而不是100个或更多用户。

配额限制基于发送的请求数量,而不是请求的帐户或发送的刷新令牌

我认为唯一可能给您带来问题的配额是每秒的请求配额。如果未设置配额用户,则允许您每秒100个请求。这是由IP地址设置的。因此,如果这是通过你的网站运行,你将只能发送100个请求一秒钟。如果您选择了配额用户。(不,我不知道如何在JavaScript中发送配额用户,您需要查找),这将消除此问题


+1作为我所见过的第一个解决了如何使用JavaScript解决无服务帐户问题的人:)

从概念上讲,这与您登录到多台电脑,或拥有一个说在web应用程序和多台设备之间同步的应用程序没有什么不同

配额问题没有得到很好的定义,所以猜测一下您是否会达到每用户配额,甚至是未记录的桶配额。前者可以根据要求增加,后者不能

如果您确实达到了极限,则有两个级别的解决方法:-

  • 在项目中创建多个应用程序,并以某种方式从多个存储的刷新令牌中分配或循环访问令牌
  • 更进一步,创建多个项目。这当然会产生一个可能的权限/共享问题,因此您可能需要拥有驱动器作用域(如果这是一个通用驱动器帐户,这是一个坏主意),或者确保每个用户始终绑定到相同的刷新令牌

  • 顺便说一句,您了解多个用户能够使用访问令牌访问彼此文件的潜在安全问题吗?

    我认为谷歌在开发者控制台中看到所有来自您注册应用程序的请求,而不是来自任何用户。目标驱动器帐户只是文件的目标

    正如你所描述的那样,这是可能的。获取存储在某处的具有刷新令牌的访问令牌,并将具有该访问令牌的文件从任何位置的任何用户上载到单个驱动器


    配额限制非常大,单驱动器文件夹在达到配额之前就会满了。

    我大体上同意,但令牌桶配额非常小,根据我的经验,大约30个。我很确定这个配额与会议有关,但不能确定。如果它链接到用户、客户机id或项目,这可能是一个问题。向请求中添加随机quotaUser参数可以完成此任务。不再触及任何限制。我也是这样做的;)只是好奇,你有没有什么办法愿意分享你是如何做到这一点的。我也在想怎么做。