我们遇到的问题是,当用户发出files.list
时,有时无法返回用户可以访问的文件。这可以通过多种方式实现。例如,Google小组的新成员将无法看到以前的共享文件,如this question中所述。此外,根据Google documentation,共享还有其他限制,可以防止共享文件出现在“与我共享”视图中。最后,用户可以在她不拥有的文件上发出files.delete
,该文件将从files.list
消失,但仍然存在。
用户可以通过SDK单独执行 以使她可以通过files.get
访问的文件显示在通过files.list
检索到的文件列表中?我们正在使用冒充用户的服务帐户;用户从不通过浏览器向Google进行身份验证。不幸的是,用户需要点击的电子邮件中的链接对我们不起作用。通过Google云端硬盘用户界面访问该文件具有所需的效果,但类似的files.get
调用却没有。
Google Calendar API显式公开了CalendarList
界面,用户可以在其中发出insert
以将现有日历添加到其列表中。 Google Drive SDK看起来像混合Files
/ FilesList
界面,缺少某些功能(不像FilesList.insert
),而且某些功能混合在一起(发布delete
作为非所有者的行为与FilesList.delete
类似,但作为所有者的行为就像Files.delete
)一样。
如果我们无法以编程方式管理用户的文件列表,那么它对我们的服务没有用。我们可以完全忽略files.list
调用,只是在所有共享文件夹上开始递归执行children.list
查询,但这非常昂贵(除非有人知道如何发出一个返回所有{{1}的查询文件夹中的资源而不仅仅是这些资源的ID。)
任何帮助将不胜感激。我们一直在尝试这种不同的方式,并且每次都感到沮丧。谢谢!