通过Google App Script

时间:2016-02-04 11:13:24

标签: google-apps-script google-drive-api

我今天发现DriveApp#getStorageUsed()仅指Google Drive。

我没有预料到这种行为,因为getStorageLimit是全球性的。实际上,对我的免费帐户说15 GB。

我不明白如何获取已使用存储空间或完全或按服务划分。

我的问题是我在Google相册上拍了很多照片,这些照片并不是用作存储空间的。

有没有办法通过服务(通过单个api调用或通过一组api调用)获得已用空间或已用空间的总和?

2 个答案:

答案 0 :(得分:1)

此答案不再有效。

getStorageUsedgetStorageLimit都会为您的" Google Drive Storage"提供数字。正如你提到的link中提到的那样。此存储不仅适用于Google云端硬盘,还可以在云端硬盘,Gmail(及其附件)和Google相册中共享。这里有两点需要注意:

1.在Google相册中 - 如果您选择"高品质"当上传而不是" Original"时,您将获得无限的存储空间。因此,这不会计入您的StorageUsed。 Reference。这可能是您认为即使您在Google相册中有大量照片,getStorageUsed仅针对云端广告系列返回的原因。

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

希望能解决你的疑问。

答案 1 :(得分:0)

Google Apps脚本原生DriveApp无法检查其他服务,但如果“高级服务”驱动器(使用Drive REST API的v2)为enabled,则可以使用About集合简单查询云端硬盘,照片和Gmail的配额:

// 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参考无疑会有所帮助。

相关问题