Google drive api 如何让团队驱动访问服务帐户而不启用与外部各方共享团队驱动?

Google drive api 如何让团队驱动访问服务帐户而不启用与外部各方共享团队驱动?,google-drive-api,Google Drive Api,我工作的这家公司最近改用TeamDrive,我们有多个应用程序可以使用GoogleDrive API与GoogleDrive交互。API调用将使用Google服务帐户进行授权,通过与服务帐户电子邮件共享文件,应用程序将获得对特定文件的访问权限,就像与普通用户共享文件一样。现在我们已经切换到Team Drive,我无法授予对该服务帐户的访问权限,因为与该帐户关联的电子邮件地址不被视为我们组织的一部分。我还研究了通过Google管理仪表板在我们的组织中作为普通用户添加服务帐户,但它只允许我创建新用户

我工作的这家公司最近改用TeamDrive,我们有多个应用程序可以使用GoogleDrive API与GoogleDrive交互。API调用将使用Google服务帐户进行授权,通过与服务帐户电子邮件共享文件,应用程序将获得对特定文件的访问权限,就像与普通用户共享文件一样。现在我们已经切换到Team Drive,我无法授予对该服务帐户的访问权限,因为与该帐户关联的电子邮件地址不被视为我们组织的一部分。我还研究了通过Google管理仪表板在我们的组织中作为普通用户添加服务帐户,但它只允许我创建新用户,不包括现有用户。我找到的唯一解决方案是允许与外部方共享,这将允许我与服务帐户共享团队驱动文件,该帐户将被视为外部方。由于使用服务帐户的应用程序是我们组织的一部分,此解决方案存在风险且不正确。出于安全原因,我们一般不希望与外部各方共享

我已经按照中所述的步骤进行了操作,但如上所述,它们需要与外部各方共享,这是我们不希望的

理想的解决方案是将服务帐户视为我们组织的一部分,但我找不到这样做的方法

我还尝试将域范围的权限委托给服务帐户,如中所述,但据我所知,这不是我想要的,因为这将允许服务帐户模拟其他用户,但我们拥有服务帐户的原因是为了执行自动发生且与特定用户无关的流程

我也遵循了这里概述的步骤,通过Google Admin安全界面将特定的API服务列为白名单,但这似乎没有任何作用,我不确定它应该做什么,因为我已经在最初创建服务帐户的API&Services仪表板中为此服务帐户启用了驱动API

我们使用的是R,因此我一直在使用该软件包,该软件包具有处理团队驱动的功能,如:

googledrive::drive_find()
googledrive::team_drive_find()
googledrive::team_drive_get(id = "team-drive-id")

我希望能够看到团队驱动,但我想这是不可能的,除非服务帐户电子邮件是团队驱动的成员,这是不可能的,因为服务帐户(通过其所有者链接到我们的组织)不被视为我们组织的一部分。

嘿,你成功做到了吗?同样的问题最终我们不得不为我们想要使用API进行交互的文件创建一个单独的团队驱动器。远非理想,但目前这是一个有效的解决方案。