如何使用一个 Google Drive sdk 查询获取 Google Drive 上所有共享文件的列表?

问题描述 投票:0回答:2

在我的 iOS 应用程序中,当我使用 q="" 执行“queryForFilesList”时,我会获得 Google Drive 上所有文件和文件夹以及共享根文件夹的列表,但不会获得共享根文件夹中的文件。如果我使用 Chrome 显示共享文件夹并单击共享文件夹,则该共享文件夹中的文件将正确显示。如果所有者随后将另一个文件添加到他与我共享的文件夹中,则该文件将出现在通过上述查询获取的文件列表中。因此,返回的列表似乎取决于文件“何时”共享,而不是文件“是否”共享。我认为这是一个错误,所以我需要解决方法。显然 Chrome 正在使用这种解决方法。使用 Google 的“立即尝试”执行查询会产生相同的结果。我尝试过使用“children.list”,但没有成功;带有folderId=root 的sharedWithMe 不返回任何内容。共享根目录有别名吗?

但是,在提出这个问题时,我想我发现了一个解决方法。如果您使用共享根文件夹的 id(例如“xyz”)并在父级中执行 q='xyz' 的“queryForFilesList”,则 id=xyz 的文件夹中的所有文件都会按预期返回。

google-drive-api
2个回答
0
投票

sharedWithMe
查询不会返回共享文件夹下的文件,只会返回单独共享的文件和文件夹。

您还可以查询

'<sharedFoldersId>' in parents
以列出共享文件夹下的所有文件。


0
投票

这不是最佳实践,但您可以在列表请求中使用以下查询来列出您查看过的大部分共享给您的文件,包括子文件以及通过链接文件和文件夹共享的文件。

https://www.googleapis.com/drive/v2/files?q=not+'{your_email_address}'+in+owners
© www.soinside.com 2019 - 2024. All rights reserved.