我希望获取Google云端硬盘中文件夹中的所有文件(给定初始文件夹ID),包括子文件夹中的所有文件。目前,我能够检索不包含任何子文件夹的文件夹中的所有文件,并且我正在尝试实现递归查看子文件夹并获取所有文件的下一步。
我在folderId上使用 drive.children.list ,并接收 drive#childReference 对象的数组。不幸的是,这些对象并没有直接告诉我它是文件夹还是文档,但我注意到folderIds比fileIds短得多。
即。下面的第一个对象是文件夹,第二个对象是文件。文件夹的id比文件短得多,但没有其他任何东西可以帮助我区分每个对象是文件夹还是文件。
[ { kind: 'drive#childReference',
id: '0B2ecLLJU7rP3a2ZmVFZQVDdIRXM',
selfLink: 'https://www.googleapis.com/drive/v2/files/0B2ecLLJU7rP3YXM0U2tOVm1wcVE/children/0B2ecLLJU7rP3a2ZmVFZQVDdIRXM',
childLink: 'https://www.googleapis.com/drive/v2/files/0B2ecLLJU7rP3a2ZmVFZQVDdIRXM' },
{ kind: 'drive#childReference',
id: '178rrwgIQxuoUgphvVYKppTM37PzT1yhzQOr9E1Shpf4',
selfLink: 'https://www.googleapis.com/drive/v2/files/0B2ecLLJU7rP3YXM0U2tOVm1wcVE/children/178rrwgIQxuoUgphvVYKppTM37PzT1yhzQOr9E1Shpf4',
childLink: 'https://www.googleapis.com/drive/v2/files/178rrwgIQxuoUgphvVYKppTM37PzT1yhzQOr9E1Shpf4' } ]
我真的希望我不必再为每个对象发出另一个请求,以确定它是文件夹还是文件。但我担心简单地确定身份证的长度太弱了。有没有人有什么建议?仅根据身份证的长度作出决定是否安全?
谢谢!
答案 0 :(得分:2)
文件夹是MIME类型为application / vnd.google-apps.folder并且没有扩展名的文件。
因此,您可以通过查看File
密钥来确定mimeType
对象是否为文件夹。
答案 1 :(得分:1)
仅根据身份证的长度做出决定是否安全?
没有
有人有任何建议吗?
一些建议
答案 2 :(得分:0)
拨打files.list。
云端硬盘中的文件夹被视为包含元数据的特殊文件类型。
这使您可以使用files.list获取文件和文件夹的列表。
您可以判断该项目是否为使用mimeType
的文件夹,该文件夹作为文件资源字段之一返回。
顺便说一句,强烈建议您根据需要进行api调用以探索用户的文件夹。 API调用很慢,一些重度用户可能会冻结您的应用程序。而且您很容易达到API使用限制。