当前位置: 首页 > 知识库问答 >
问题:

如何使用Google Drive.NET API v3使用服务帐户访问团队驱动器

谷越
2023-03-14

这个想法是使用。NET后端应用程序中的服务帐户将文件上载/html" target="_blank">下载到公司员工共享的团队驱动器。例如,company有其company.com域,并在Google提供name.surname@company.com用户帐户。此外,员工也有团队动力。其中一个帐户(不是admin)用于创建服务帐户,到目前为止已经完成了以下步骤:

  • 在Google云平台中为组织创建了一个项目
  • 启用了Google Drive API
  • 创建了服务帐户
  • 为该服务帐户创建了密钥
  • 在IAM选项卡中分配编辑器/所有者角色
  • 使用客户端ID启用了服务帐户的G Suite域范围委托,如下所述使用G Suite admin帐户。

我在文档中找不到任何关于如何授予服务帐户对团队驱动器的访问权限,以便所有上传的文件/文件夹可以对所有访问团队驱动器的用户可见的内容。任何关于如何做到这一点的有用链接都非常感谢。

可能有一个可能的解决方案:将文件上传到服务帐户的私人驱动器上,并与用户共享(这不是需求所喜欢的),但如果有人告诉具体如何做到这一点,我会很高兴。

共有1个答案

邴俊达
2023-03-14

除了问题中的步骤之外,以下是根据注释中的文档授予访问权限的步骤。

这些步骤要求与服务和应用程序管理员角色的帐户。

  • 登录到Google Admin,然后转到应用程序->Google G Suite->驱动器和文档->共享设置子菜单,然后从共享选项中选择
  • 单击管理团队驱动器子菜单,然后单击要授予访问权限的团队驱动器
  • 在成员访问弹出窗口中单击添加成员
  • 输入服务帐户帐户ID(电子邮件),选择访问级别(我选择了完整),检查跳过发送通知并单击发送
var teamDriveList = service.Teamdrives.List();
    
teamDriveList.Fields = "teamDrives(kind, id, name)";

var teamDrives = teamDriveList.Execute().TeamDrives;

if (teamDrives != null && teamDrives.Count > 0)
{
    foreach (var drive in teamDrives)
    {
        Console.WriteLine("{0} ({1})", drive.Name, drive.Id);
    }
}
 类似资料:
  • 我正在工作上传文件在谷歌驱动器与服务帐户,我能够插入文件在谷歌驱动器,但我不能查看该文件在谷歌驱动器。 我是创建abc@gmail.com。用abc@gmail.com创建一个服务帐户。有了P12证书和服务客户端电子邮件id,我可以在驱动器中插入文件。但无法在abc@gmail.com的谷歌驱动器上看到该文件。当fatch从应用程序中的文件列表时,它将显示5个文件,但在我的abc@gmail.co

  • 是否可以使用服务帐户创建共享驱动器?。 由于没有UI服务号创建文件/文件夹,我需要一些方法 /APIs支持创建共享驱动器。 我可以在服务号下创建孩子(文件和文件夹),但不确定如何使用服务号创建共享驱动器。 向你问好,索拉夫

  • 我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development

  • 我正在尝试使用服务帐户访问目录API(https://developers.google.com/admin-sdk/Directory/v1/reference/users/list)。最简单的任务是列出组织中的用户。通过OAuth2.0 PlayGorund测试,这在我的用户帐户中运行良好。但我需要使用服务帐户。我正在阅读关于双腿OAuth(https://developers.google.

  • 是否可以使用服务帐户访问Google Admin Report SDK? 我有一个非常基本的例子,我正在尝试运行,我总是得到一个400错误返回。我已经验证了密钥和服务ID是正确的,我甚至已经将权限委托给这个服务帐户。难道这就是不可能吗?有人有什么想法吗? 返回的错误如下: {“代码”:401,“错误”:[{“domain”:“global”,“location”:“authorization”,“

  • 问题内容: 我们在使用服务帐户访问代理商API时遇到问题。具有客户机密的示例运行良好,但是我们需要将其部署在k8s(Kubernetes Engine)中,而无需定期刷新oauth会话(尤其是执行一次,因为在docker容器中有点难)。 尽管有很多关于如何使用python进行操作的文档,但我们找不到使用服务帐户进行访问的任何方法。 我们尝试了两个帐户,一个为默认计算引擎,一个为我们的用例直接创建。