无需明确访问权限即可访问共享驱动器的 Google 服务帐户

问题描述 投票:0回答:1

我们有一个 web .NET 内部系统,我们希望将其与 Google Drive 集成在我们组织中也仅使用的文件夹上。

如果我理解正确,我应该为此使用服务帐户,这样我们的 .NET 系统就可以在没有任何“用户”的情况下调用 Drive API。

我已经创建了服务帐户,将测试共享文件夹共享到该帐户,并成功测试了从 .NET 应用程序到 Drive API 的调用。

我的问题是服务帐户应该访问共享驱动器,关闭“允许外部人员访问文件”。这是因为共享驱动器的内容不能从组织外部访问。

是否有允许服务帐户进行此访问的设置?例如将服务帐户添加到组织?或者服务帐户的某种角色允许这样做?

提前致谢!

google-drive-api google-workspace google-drive-shared-drive
1个回答
0
投票

服务帐户 不属于您的组织,您不能只是让它们成为组织的一部分,因此您必须使用域范围的委托来模拟 does 有权访问共享驱动器的用户。简而言之,过程是这样的:

  • Grant domain-wide delegation to the service account with the necessary Drive scopes.
  • 创建您的凭据时,选择一个将委托访问服务帐户的用户。
  • 像往常一样继续你的 API 调用,这些将在模拟用户的名字下。

为方便起见,您可以考虑创建一个仅由服务帐户模拟的用户,或者指定您当前的一个用户作为这些 API 调用的管道。您在使用服务帐户时仍然需要用户帐户,这似乎很奇怪,但这对于某些只能由域中的用户执行的 API 和操作来说是正常的。我建议您查看服务帐户概述以获取更多信息。

参考文献

© www.soinside.com 2019 - 2024. All rights reserved.