
[英]Folder getParents fails to get Team Drive name in Google Script
[英]Get the number of elements in a Google Team Drive
谷歌团队驱动器有 400 000 个文件的限制,我想知道有多少元素已上传到特定驱动器,以便获得组织管理员可以从https://admin.google.com看到的百分比值。
我找不到这个值的任何 API 端点,有没有办法计算这个限制?
没有端点可以为您提供此信息,因此您必须创建一个files: list
每个驱动器的调用并在本地计算。
首先,您需要调用drives: list
以获取您所属的所有共享 Drive 的列表:
curl \
'https://www.googleapis.com/drive/v3/drives
?fields=drives%2Fid
&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
在这里, drives/id
字段仅用于获取 ID 列表。
然后,您可以使用files: list
遍历每个 ID 以获取该驱动器中的文件列表:
curl \
'https://www.googleapis.com/drive/v3/files
?corpora=drive
&driveId=[YOUR_DRIVE_ID]
&includeItemsFromAllDrives=true
&pageSize=1000
&supportsAllDrives=true
&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
在此响应中,您可能会得到一个nextPageToken
参数。 这意味着驱动器中有超过 1000 个文件,因此您需要发出包含此页面令牌的后续请求,直到您收到没有一个的响应:
curl \
'https://www.googleapis.com/drive/v3/files
?corpora=drive
&driveId=[YOUR_DRIVE_ID] &includeItemsFromAllDrives=true
&pageSize=1000
&pageToken=[NEXT_PAGE_TOKEN]
&supportsAllDrives=true
&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
确保总计每个请求的返回结果数。
根据每个共享驱动器中有多少文件,您可以通过数学方式计算每个驱动器使用的文件总数的百分比:
(no_of_files_in_drive / 400000) * 100
但是,您可以让 Google 知道这是一项对访问他们的 API 很重要的功能,并且您想请求他们实现它。
Google 的问题跟踪器是开发人员报告问题并为其开发服务提出功能请求的地方,我强烈建议您在那里提出功能请求。 提交此文件的最佳组件是带有Feature Request
模板的Google Drive 组件。
我希望这对你有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.