使用服务用户通过电子邮件地址将文件上传到Google云端硬盘

0 c# google-api google-drive-api google-api-dotnet-client

我正在使用服务帐户凭据连接到服务帐户.

我正在尝试扩展它以用于同一公司内的多个用户.所有用户都将拥有该公司管理的Google帐户,并且我将为整个公司提供gsuite服务帐户.如何使用gsuite服务帐户根据电子邮件地址将文件上传到用户个人Google云端硬盘?

Jon*_*eet 5

您希望使用ServiceAccountCredential,将User属性设置为适当的用户.

假设您正在使用加载凭据GoogleCredential,这不是太难.例如:

GoogleCredential credential = Google.GetApplicationDefault()
    .CreateScoped(...)
    .CreateWithUser("foo@bar.com");
Run Code Online (Sandbox Code Playgroud)

如果您想为许多不同的用户使用相同的原始凭据,您可以保留CreateScoped(...)周围的结果,并且只需调用CreateWithUser为每个操作创建新的用户特定凭据.