【发布时间】:2023-03-09 10:48:01
【问题描述】:
我编写了一些逻辑来将文件上传到共享给服务帐户 (uploader@uploadproject-204816.iam.gserviceaccount.com) 的 Google Drive 文件夹中
Google 云端硬盘本身与我的 G Suite 帐户相关联。
这工作了一段时间,但最终我开始收到此错误:
Google.Apis.Requests.RequestError 用户的云端硬盘存储配额已 被超过。 [403]错误[消息[用户的驱动器存储配额 已超出。] 位置[-] 原因[storageQuotaExceeded] 域[全局] ]
从那以后,上传无法正常工作,即使上传小文件时也会出现此错误。
使用我的真实账户,我清理了服务账户拥有的所有文件,包括那些“杂乱无章”的文件。
左边的配额显示“170MB of 30GB used”
我也等了超过 24 小时。
我认为这是关于服务帐户本身,而不是驱动器。但我不确定要检查什么。
我尝试检查About.Get() 方法的结果,没有发现任何有用的东西。
var cred = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(clientEmail)
{
Scopes = (new[] { "https://www.googleapis.com/auth/drive" }).ToList()
}.FromPrivateKey(privateKey));
service = new DriveService(new Google.Apis.Services.BaseClientService.Initializer { ApiKey = apiKey, HttpClientInitializer = cred });
var about = service.About.Get();
编辑:
原来我需要做些其他事情来获取有关配额的更多信息
var get = service.About.Get();
get.Fields = "*";
var about = get.Execute();
那我可以在about.StorageQuota看到
Limit: 16106127360
Usage: 16106125128
确实,我现在了解存储配额错误。问题是,我如何重置这些数字?服务帐号上传的所有文件均已被同一位置的 MY 帐号删除。
有什么想法吗?
【问题讨论】:
标签: c# .net google-drive-api