【发布时间】:2022-01-05 07:45:23
【问题描述】:
列出用户驱动器中的所有文件并获取与他人共享的文件列表的最简单尝试不是始终返回permissionIds 的列表。有时我明白,有时我不明白。
这是我在https://developers.google.com/drive/api/v3/reference/files/list 的 API 资源管理器中尝试的一个非常简单的查询
corpora=user
fields=files(id,permissionIds)
调试日志中看到的请求:https://www.googleapis.com/drive/v3/files?corpora=user&fields=files%28id%2CpermissionIds%29
Response(为简单起见,从输出中删除了额外的条目):
{
"files": [
{
"id": "1Y_i8-TMfnhxhImlf2IsiJSO4aOqmAULz",
}
}
一些文件没有设置permissionIds,但应该设置。
如果我使用 pageSize 参数,我会得到不同的文件集,这些文件集是否设置了属性。
例如,我什至尝试执行这个非常简单的查询:https://www.googleapis.com/drive/v3/files?includeItemsFromAllDrives=true&supportsAllDrives=true&corpora=user&fields=nextPageToken,files(id,permissionIds)&pageSize=1000,其中我尝试了 pageSize 的不同值,分别为 10、20、30、40、50、100 和 1000。下表显示了我的结果得到每个查询和permissionIds 的数量(当然我也酌情更新了pageToken。
下表显示了结果及其permissionIds 的数量。例如,第 0 到第 39 个结果具有相同的permissionIds,但结果编号 40 具有 pageSize 10、20 和 40 的 28 个权限 ID,并且没有为 pageSize 设置 30、50、100 和 1000 的权限 ID。我验证了id 都是一样的。
即使对于pageSize=100,结果的第一页也丢失了,然后我将其填充为 100 到 120,然后从 120 开始再次丢失(这是 pageSize=100 的结果的第二页)。
[↓↓ files result index ↓↓] [⇉ pageSize ⇉] |
10 | 20 | 30 | 40 | 50 | 100 | 1000 |
|---|---|---|---|---|---|---|---|
| 40 | 28 | 28 | null | 28 | null | null | null |
| 41 | 10 | 10 | null | 10 | null | null | null |
| 42 | 7 | 7 | null | 7 | null | null | null |
| 43 | 25 | 25 | null | 25 | null | null | null |
| 44 | 25 | 25 | null | 25 | null | null | null |
| 45 | 11 | 11 | null | 11 | null | null | null |
| 46 | 25 | 25 | null | 25 | null | null | null |
| 47 | 1 | 1 | null | 1 | null | null | null |
| 49 | 6 | 6 | null | 6 | null | null | null |
| 50 | 26 | 26 | null | 26 | 26 | null | null |
| 51 | 26 | 26 | null | 26 | 26 | null | null |
| 52 | 2 | 2 | null | 2 | 2 | null | null |
| 53 | 25 | 25 | null | 25 | 25 | null | null |
| 54 | 25 | 25 | null | 25 | 25 | null | null |
| 55 | 26 | 26 | null | 26 | 26 | null | null |
| 56 | 26 | 26 | null | 26 | 26 | null | null |
| 57 | 25 | 25 | null | 25 | 25 | null | null |
| 58 | 25 | 25 | null | 25 | 25 | null | null |
| 63 | 30 | 30 | 30 | 30 | 30 | null | null |
| 65 | 25 | 25 | 25 | 25 | 25 | null | null |
| 67 | 25 | 25 | 25 | 25 | 25 | null | null |
| 68 | 25 | 25 | 25 | 25 | 25 | null | null |
| 69 | 26 | 26 | 26 | 26 | 26 | null | null |
| 70 | 25 | 25 | 25 | 25 | 25 | null | null |
| 71 | 3 | 3 | 3 | 3 | 3 | null | null |
| 72 | 26 | 26 | 26 | 26 | 26 | null | null |
| 73 | 25 | 25 | 25 | 25 | 25 | null | null |
| 74 | 25 | 25 | 25 | 25 | 25 | null | null |
| 75 | 26 | 26 | 26 | 26 | 26 | null | null |
| 76 | 26 | 26 | 26 | 26 | 26 | null | null |
| 77 | 25 | 25 | 25 | 25 | 25 | null | null |
| 78 | 25 | 25 | 25 | 25 | 25 | null | null |
| 79 | 26 | 26 | 26 | 26 | 26 | null | null |
| 80 | 25 | 25 | 25 | 25 | 25 | null | null |
| 81 | 1 | 1 | 1 | 1 | 1 | null | null |
| 82 | 25 | 25 | 25 | 25 | 25 | null | null |
| 83 | 26 | 26 | 26 | 26 | 26 | null | null |
| 84 | 25 | 25 | 25 | 25 | 25 | null | null |
| 85 | 25 | 25 | 25 | 25 | 25 | null | null |
| 91 | 25 | 25 | 25 | 25 | 25 | null | null |
| 92 | 26 | 26 | 26 | 26 | 26 | null | null |
| 93 | 25 | 25 | 25 | 25 | 25 | null | null |
| 100 | 25 | 25 | null | null | 25 | 25 | null |
| 101 | 25 | 25 | null | null | 25 | 25 | null |
| 102 | 25 | 25 | null | null | 25 | 25 | null |
| 103 | 25 | 25 | null | null | 25 | 25 | null |
| 104 | 26 | 26 | null | null | 26 | 26 | null |
| 105 | 26 | 26 | null | null | 26 | 26 | null |
| 106 | 25 | 25 | null | null | 25 | 25 | null |
| 110 | 26 | 26 | null | null | 26 | 26 | null |
| 111 | 25 | 25 | null | null | 25 | 25 | null |
| 112 | 25 | 25 | null | null | 25 | 25 | null |
| 114 | 25 | 25 | null | null | 25 | 25 | null |
| 115 | 25 | 25 | null | null | 25 | 25 | null |
| 116 | 25 | 25 | null | null | 25 | 25 | null |
| 117 | 25 | 25 | null | null | 25 | 25 | null |
| 120 | 25 | 25 | 25 | 25 | null | null | null |
| 121 | 25 | 25 | 25 | 25 | null | null | null |
| 122 | 25 | 25 | 25 | 25 | null | null | null |
| 123 | 25 | 25 | 25 | 25 | null | null | null |
我将接受一种合理可靠的方式来获取权限 ID,希望不必对每个文件都执行 get。
【问题讨论】:
标签: google-drive-api