通过 Google 应用程序脚本获取总使用量和免费使用量 space

Obtaining total and free used space via Google App Script

我今天才发现 DriveApp#getStorageUsed() 仅指 Google 驱动器。

我没想到会出现这种行为,因为 getStorageLimit 旨在作为全球性的。事实上,我的免费帐户说 15 GB。

我不明白如何获得已用存储量或全部或除以服务。

我的问题是我在 Google Photos 上有很多照片,但这些照片并未汇总为 space 使用的存储空间。

有没有办法通过服务(通过单个 api 调用或通过一组 api 调用来获取或使用 space 或使用 space 的总和) ?

此答案不再有效。

getStorageUsedgetStorageLimit 都给出了您在 link 中提到的 "Google Drive Storage" 的数字。不过,此存储空间不仅适用于 Google Drive,它还可以在 Drive、Gmail(及其附件)和 Google Photos 之间共享。这里要注意两点:

1. 在 Google 照片 - 如果您在上传时选择 "High Quality" 而不是 "Original",那么您将获得无限存储空间 space。因此,这不会计入您的 StorageUsed。 Reference。这可能就是您认为 getStorageUsed 仅返回云端硬盘的原因,即使您在 Google 照片中有很多照片。

2。在 Google 云端硬盘 - 您使用 Google 文档、表格和幻灯片创建的任何内容都不会计入您的存储限制。您可以获得几乎无限的存储空间。

希望能解决您的疑问。

Google Apps 脚本本机 DriveApp 无法检查其他服务,但是如果 "Advanced Service" Drive(使用 Drive REST 的 v2 API) 是 enabled, then the quotas of Drive, Photos, and Gmail can be queried simply, using the About 集合:

// Read Drive quotas.
function getAbout() {
  var about = Drive.About.get();
  about.quotaBytesByService.forEach(function (s) {console.log(s)});
}

哪个日志:

{"bytesUsed":"1010101010","serviceName":"DRIVE"}
{"bytesUsed":"9876543210","serviceName":"PHOTOS"}
{"bytesUsed":"1234567890","serviceName":"GMAIL"}

About 集合的其他属性可能会引起您的兴趣,例如 quotaBytesTotalquotaBytesUsed。脚本编辑器的自动完成功能和上面链接的 API 参考资料无疑会有所帮助。