【发布时间】:2016-01-07 00:58:43
【问题描述】:
我目前正在开发一个小程序,它可以在 Google Drive 中获取文件/文件夹路径(例如:'MyDrive/Folder1/Folder2/Folder3'),并对其进行一些操作(列出、上传、下载、复制等)
文件夹路径是用户(一个用户,又名我)输入的字符串。
按照 Google Drive API 的规定,大多数操作都需要文件/文件夹 ID,因此给定用户的文件路径,我需要找出文件/文件夹 ID。我想要的是找到文件/文件夹ID的有效方法。注意:在 Google Drive 中,每个文件都有 1 个 ID(字符串)和 1 个标题(例如:'folder3'、'folder1')。 ID 是唯一的。每个文件还有一个其父母 ID 的列表。
由于调用 Google Drive API 需要很长时间,我正在尝试限制 API 调用的数量。
现在,在我接受用户输入之前,(1) 我调用 service.files().list(),它会返回我 Google Drive 中所有文件的列表。 (2) 遍历列表构造3个字典:FileName-FileID、FileID-FileName、FileID-Parents。
鉴于用户输入:“MyDrive/Folder1/Folder2”,我可以: (1) 查找“Folder2”的 ID,然后查找其父母的 ID。 (2) 查找“Folder1”的 ID,然后查找其父母的 ID。检查“Folder1”的 ID 是否在“Folder2”的 ParentsID 中。 (3) 查找“MyDrive”的 ID。检查 MyDrive 的 ID 是否在“Folder1”的 ID 中。
检查后,我可以确保“Folder2”的 ID 是我要查找的 ID。
我的问题: 1,您能建议一种更好的方法来查找我的情况吗?
2,现在,我想我可以信任用户的输入,并且只查找 Folder2 的 ID。如果Folder2有超过1个父母,那么我会做上面的过程(遍历路径)。如果 Folder2 有 1 个父级,我停止检查。这是对用户的过度信任吗?
我对编程比较陌生,你能帮帮我吗?感谢您的宝贵时间和帮助!
【问题讨论】:
标签: python google-drive-api google-drive-realtime-api